PDA

View Full Version : static enum in a class


mickey
19th August 2008, 18:02
Hello,
I need to write something like this below but this doens't compile:

class D {
public:
D ( P::Type t1, P::Type t2) { }
};

class P {
public:
static const enum Type { typea, typeb, typec };
D d1;
};


I think D doesn't know Type because it's declared before BUT I'd like keep Type inside some class...how change, please?

spirit
19th August 2008, 18:58
class P;
class D {
public:
D ( P::Type t1, P::Type t2) { }
};

class P {
public:
enum Type { typea, typeb, typec };
D d1;
};

mickey
19th August 2008, 19:43
it doens't compile...

spirit
19th August 2008, 20:02
class D;
class P;

class P {
public:
enum Type { typea, typeb, typec };
//D d;//D must be fully defined or use pointer
//D *d;//this compiles fine
};

class D {
public:
D(P::Type t1, P::Type t2) { }
};