如何在windows下解决C2079编译错误
how to solve the compiling error C2079 on windows
有人能帮助解决这个错误吗:
test.cpp(14):错误C2079:"x1"使用了未定义的结构"x"
test.cpp(16):错误C2228:".x-x1"的左侧必须具有类/结构/联合类型
这是代码的一部分:
struct x x1;
...
x1.x_x1=y_x1;
在unix上,程序正在编译和链接,没有任何错误。感谢您的帮助,
只有一个正向声明,您只能定义指向struct
的指针或引用,而不能访问struct
的成员(x1.x_x1
)。
如果要访问成员,请包含结构的完整定义。
例如,以下内容有效:
struct x {
int x_x1;
};
struct x x1;
...
x1.x_x1=y_x1;
//或
#include "struct_x.h"
struct x x1;
...
x1.x_x1=y_x1;
其中struct_x.h具有:
struct x {
int x_x1;
};