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