Ну, я вполне уверен, что это легко:)
У меня есть абстрактный теговый тип NamedStructure , имеющий три поля в приватной части спецификации:
- имя (строка)
- структура (примерно массив)
- число (положительное число)
Затем я создал подкласс Chord , что в основном:
type Chord is new NamedStructure with null record;
Играя со Spark, мне нужно инициализировать мои аккорд объекты, но я столкнулся с проблемой.
Chord_Object : Chord := (NamedStructure'(Name => "",
Structure => (Others => False),
Number_Of_Notes => 0) with null record);
не делаетt компилируется, и сообщение об ошибке
scalada-chords.adb:44:53: expected private type "NamedStructure" defined at scalada-namedstructures.ads:52
scalada-chords.adb:44:53: found a composite type
Я не могу найти правильную конструкцию, использующую агрегат расширения, и не понимаю, почему.Есть идеи?