c ++ struct无法识别

时间:2012-04-09 04:49:22

标签: c++ struct

我试图处理一个结构数组但是在访问成员时我收到了这个错误:“必须有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;
}

请告知。

3 个答案:

答案 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