PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit enums



axeljaeger
17-10-2002, 16:19
Ich hab ein kleines Programm geschrieben, was mein Problem auf den Punkt bringt:

#include <iostream>

class base
{
public:
enum alpha {a,b,c};
};

class ext : public base
{
public:
alpha getValue();
};

alpha ext::getValue() // <- Hier meckert der Compiler: tstenum.cpp:15: syntax error before `::'
{
return a;
}


int main(int argc, char** argv)
{
ext one;
cout << one.getValue();

return 0;
};

---------------------------

Man kann jetzt base::alpha als Rückgabewert verwenden, aber das kann doch nicht die beste Lösung sein?

anda_skoa
17-10-2002, 16:37
Original geschrieben von axeljaeger

alpha ext::getValue() // <- Hier meckert der Compiler: tstenum.cpp:15: syntax error before `::'
{
return a;
}


Du bist hier außerhalb der class Deklaration, darum mußt du ja auch ext::getValue schreiben.
Also ist der Typ des enum auch ext::alpha bzw. base::alpha

Ciao,
_