文件A:
typedef struct DingWei_data {
string describe_DW;
string keyw;
int x1;
int y1;
int jt_long;
int jt_width;
};
文件B:
DingWei_data dingwei_all[200];
//主函数
int main ()
{
string a1 = "\\dingwei.txt";
char c[_MAX_PATH];
string b;
char *ab;
_getcwd(c, sizeof(c));
b = c;
a1 = b + a1;
ab = &a1[0];
string add[100];
Read_write_data RWD(ab, add);
cout << dingwei_all[1] << endl;
return 0;
}
我已经extern结构体了,为什么cout<<dingwei_all[1]<<endl这里会报错的
这里报的是:表达式必须指向完整对象类型的指针
dingwei_all是一个结构体数组,可以输出结构体中的变量,不能直接输出
可以考虑重载输出流运算符<<
:DingWei_data& operator<<(ostream& o; const DingWei_data& d) {return o << /*此处放置你要输出的东西*/}
这样你的代码就能运行了