如何在windows下解决C2079编译错误

how to solve the compiling error C2079 on windows

本文关键字:C2079 编译 错误 解决 windows      更新时间:2023-10-16

有人能帮助解决这个错误吗:

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;
};