我试图处理一个结构数组但是在访问成员时我收到了这个错误:“必须有class / struct / union”
struct person
{ int a; int b; int c;
}
person myArray[10];
int main()
{
for(var i = 0; i < 10; i++)
{
//Assume that connection string already established
outdata<< myArray[i].a << myArray[i].b << myArray[i].c << endl;//Error occurs here when accessing the members within my array of structs
}
return 0;
}
请告知。
答案 0 :(得分:9)
struct person { int a; int b; int c; } ;
^^^^
您错过了;
。
答案 1 :(得分:3)
你应该做
struct person
{ int a; int b; int c;
} ;
^^^^
person myArray[10];
或
struct person
{ int a; int b; int c;
} myArray[10];
在第一种情况下,您定义了一个新类型“person”(由semocolon终止),然后声明这个新类型“person”的数组“myArray”。
在第二种情况下,您组合了C / C ++允许的类型声明和变量定义。
答案 2 :(得分:0)
第1次更正:
struct person
{ int a; int b; int c;
} myArray[10];
第二次更正:
for(var i = 0; i < 10; i++)
c ++不支持 var
。相反,如果您在VS2010或更高版本中运行,则可以使用auto
。否则你将不得不使用int