Type conversion 将Standard.Natural转换为Ada.Containers.Count_类型
我引用了Ada.Containers.Vectors通用包,如下所示:Type conversion 将Standard.Natural转换为Ada.Containers.Count_类型,type-conversion,containers,ada,Type Conversion,Containers,Ada,我引用了Ada.Containers.Vectors通用包,如下所示: package My_Vectors is new Ada.Containers.Vectors( Element_Type => My_Type, Index_Type => Natural); 比如说,我有一个向量和一个标准。自然值声明: Foo_Vector: My_vectors.Vector; Bar_Natural: Natural := 4; 如果我打电话 Foo_Vector
package My_Vectors is new Ada.Containers.Vectors(
Element_Type => My_Type,
Index_Type => Natural);
比如说,我有一个向量和一个标准。自然值声明:
Foo_Vector: My_vectors.Vector;
Bar_Natural: Natural := 4;
如果我打电话
Foo_Vector.Set_Length(Bar_Natural);
我得到以下错误
expected type "Ada.Containers.Count_Type"
found type "Standard.Natural"
有没有一种方法可以让你自然地成为Ada.Containers.Count类型的人?对不起,我太傻了,没有读到我的错误。我尝试使用以下方法转换自然值:
Ada.Containers.Vectors.Count_Type(Bar_Natural)
这毫无意义强>
读取错误后,很容易看到Count_类型是在包Ada.Containers中定义的
因此,正确的换算应为:
Ada.Containers.Count_Type(Bar_Natural);
给予
Foo_Vector.Set_Length(Ada.Containers.Count_Type(Bar_Natural));
对不起,我太蠢了,没有读到我的错误。我尝试使用以下方法转换自然值:
Ada.Containers.Vectors.Count_Type(Bar_Natural)
这毫无意义强>
读取错误后,很容易看到Count_类型是在包Ada.Containers中定义的
因此,正确的换算应为:
Ada.Containers.Count_Type(Bar_Natural);
给予
Foo_Vector.Set_Length(Ada.Containers.Count_Type(Bar_Natural));
谢谢忘了做那件事,因为你只能在一天左右之后做。谢谢。忘了做那件事,因为你只能在一天左右之后做。