2012-04-09 24 views
0

Im nicht erkannt versuchen, ein Array von Strukturen, aber im verarbeiten diese Fehler recieving wenn Mitglieder Zugriff auf:C++ struct

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

Bitte geben "muss Klasse/Struktur/Union hat".

+0

kann ich fragen, was ist 'var'? in 'für (var i = 0; i <10; i ++)' – weima

Antwort

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

Sie haben die ; verpasst.

+0

+1: Wow, 8 upvotes für ein fehlendes Semikolon. –

3

sollten Sie tun

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

} ; 
    ^^^^ 

person myArray[10]; 

oder

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

} myArray[10]; 

Im ersten Fall, dass Sie einen neuen Typ "Person" zu definieren (von semocolon beendet) und dann ein Array "myArray" dieser neuen erklärt Geben Sie "Person" ein.

Im zweiten Fall kombinieren Sie Typdeklaration und Variablendefinition, die für C/C++ erlaubt ist.

0

1. Korrektur:

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

    } myArray[10]; 

2. Korrektur:

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

var ist nicht in C++ suported. Stattdessen können Sie verwenden, wenn Sie in VS2010 oder höher ausgeführt werden. Oder sonst müssen Sie verwenden int