在头文件中我有一些效果:
class MoveableObject
{
public:
static float Gravity;
static float JumpSpeed;
static float MoveSpeed;
struct State;
struct Derivative;
State current;
State previous;
};
尝试编译时出现错误:
12:9: error: field 'current' has incomplete type
13:9: error: field 'previous' has incomplete type
这可能是一个非常基本的错误,但我很难过。谢谢。
最佳答案
前向声明如:
struct State;
struct Derivative;
仅当您操作指针或引用时才适用于声明(因为编译器始终知道指针或引用的大小;但是它无法猜测用户定义类型的大小)。
如果您希望保持您现在的类不变,您必须包含定义了结构 State 的头文件。
否则,切换到指针!
关于c++ - 类定义中的结构实例产生编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607453/