我收到此错误
“不允许不完整的类型”
出现此错误的行:
Vec3 MaxHeight;
好吧,要修复它,您必须创建Vec3
一个完整的类型,即您必须定义它(而不是仅仅声明它)。
请注意,正如其他答案所暗示的那样,它可能与“包括头文件”无关。如果您忘记包含标头,编译器可能对Vec3
. 错误消息会有所不同。在您的情况下,编译器知道Vec3
,但它恰好是不完整的。
从您发布的内容中无法判断导致这种情况的原因(您基本上没有发布任何内容)。如果你确实包含了定义的头文件Vec3
,那么问题可能是由循环头包含或类似的东西引起的。
几乎所有时候,我都通过从库中包含一个声明 Vec3 的文件来遇到这个问题,但不包括包含 Vec3 本身的头文件。
发生这种情况是因为有时其他头文件“前向声明” Vec3,因此它们可以在其函数定义中使用,但它们不需要完整的定义。