0

我试图处理一个结构数组,但在访问成员时收到此错误:“必须有类/结构/联合”

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

请指教。

4

3 回答 3

9
struct person { int a; int b; int c;  } ;
                                       ^^^^

你错过了;.

于 2012-04-09T04:50:53.527 回答
3

你应该做

struct person
{ int a; int b; int c;

} ;
  ^^^^

person myArray[10];

或者

struct person
{ int a; int b; int c;

} myArray[10];

在第一种情况下,您定义一个新类型“person”(以分号结尾),然后声明这个新类型“person”的数组“myArray”。

在第二种情况下,您结合了 C/C++ 允许的类型声明和变量定义。

于 2012-04-09T05:01:56.393 回答
0

第一次更正:

   struct person
    { int a; int b; int c;

    } myArray[10];

第二次更正:

for(var i = 0; i < 10; i++)

varc++ 不支持。相反,auto如果您在 VS2010 或更高版本中运行,则可以使用。否则你将不得不使用int

于 2012-04-09T08:05:55.313 回答