我有一个通用的二叉搜索树包,名为 gen_BST 和我刚刚创建的它的子包,名为 gen_BST.AVL。
当我尝试编译我的代码时,Ada 编译器给了我一条错误消息:“不能限制非限制类型的完成”——这是什么意思,我该如何解决?
忽略正文/规范,这是记录声明:
--Gen_BST:
--Type Declarations
TYPE Node IS LIMITED PRIVATE; -- The node itself.
TYPE Root IS ACCESS Node; -- Pointer to the node.
PRIVATE
--Record Declaration
TYPE Node IS TAGGED LIMITED RECORD
Data : Data_Type;
Left_Child, Right_Child : Root;
END RECORD;
--Gen_BST.AVL:
TYPE AVL_Node IS PRIVATE;
TYPE AVL_Root IS ACCESS AVL_Node;
PRIVATE
TYPE AVL_Node IS NEW Node WITH RECORD
Height : Natural;
END RECORD;