我想要一個擴展標記類型的容器。例如, :擴展標記類型的Ada容器
type Root is abstract tagged private;
package Queue_Interface
is new Ada.Containers.Synchronized_Queue_Interfaces
(Element_Type => Ada.Strings.Unbounded.Unbounded_String);
package Queue_Factory
is new Ada.Containers.Bounded_Synchronized_Queues
(Queue_Interfaces => Queue_Interface,
Default_Capacity => 50);
type Child is new Root with record
Trace_Queue : Queue_Factory.Implementation.List_Type(50);
end record;
當我嘗試編譯這段代碼,我有以下錯誤:「nonlimited類型的擴展名不能有限制組件」
我不能改變根類型的聲明這是一個類型依賴關係。 如何嵌入標籤類型的容器?
如果你想在擴展類型中使用有限的組件(「限制」禁止分配),你必須使根類型受到限制,就像在'type Root是抽象標記的有限私有'中一樣。 –