Klassen und switch

WorldRacer

Erfahrenes Mitglied
Hio zusamm,

ich habe ein Problem das mit Klassen und switch zusammen hängt.
Fehlermeldungen sind foglende:
c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(41) : error C2360: Initialisierung von 'krpu1' durch 'case'-Marke übersprungen
1> c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(40): Siehe Deklaration von 'krpu1'
1>c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(43) : error C2360: Initialisierung von 'krpu2' durch 'case'-Marke übersprungen
1> c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(42): Siehe Deklaration von 'krpu2'
1>c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(43) : error C2360: Initialisierung von 'krpu1' durch 'case'-Marke übersprungen
1> c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(40): Siehe Deklaration von 'krpu1'
1>c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(45) : error C2360: Initialisierung von 'krpu3' durch 'case'-Marke übersprungen
1> c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(44): Siehe Deklaration von 'krpu3'
1>c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(45) : error C2360: Initialisierung von 'krpu2' durch 'case'-Marke übersprungen
1> c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(42): Siehe Deklaration von 'krpu2'
1>c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(45) : error C2360: Initialisierung von 'krpu1' durch 'case'-Marke übersprungen
1> c:\dokumente und einstellungen\marco\eigene dateien\visual studio 2008\projects\mein mao mao\mein mao mao\main.cpp(40): Siehe Deklaration von 'krpu1'


Diese Fehlermeldungen kommen, wenn ich im Codeblock die /* */ wegmache:
Code:
class kRPU 
{
public:
	static char Name;
	int Punkte;
	/*kRPU(void);*/
};
/*kRPU::kRPU(void)
{
	cout << "Spieler 1, bitte geben sie ihren Namen ein: ";
	cin >> this->Name;
	cout << endl;
	
}*/

Die Fehlermeldung bezieht sich auf diesen Teil:

Code:
switch(rpus)
		{
		case 4:
			kRPU krpu1;
		case 3:
			kRPU krpu2;
		case 2:
			kRPU krpu3;
		case 1:
			kRPU krpu4;
		}

Kann mir einer Helfen? Ich verzweifle...Danke im Vorraus
 
;-) hat sich schon von selber erledigt...hab bei allen das Klammernschema eingesetzt:

Code:
{kRPU krpu3;}

Und dann gings..
 
C++:
struct RPU 
{
    std::string name; // oder soll es nur 1 Zeichen sein?
    unsigned int points; // oder soll er -1 Punkte haben können?
    
    // { c-tor }
    RPU() 
        : points(0) // Initialisierungsliste
    {
        std::cout << "Spieler 1, bitte geben sie ihren Namen ein: ";
	std::cin >> name;
    }
};

Zum Problem: Du hast die Klammern vergessen!
C++:
switch (rpus)
{
    case 4:
    {
        kRPU krpu1;
    } break;
    case 3:
    {
        kRPU krpu2;
    } break;  
    case 2:
    {
        kRPU krpu3;
    } break;
    case 1:
    {
        kRPU krpu4;
    } break;
}
 
Zurück