- 813 名前:808 mailto:sage [2008/06/16(月) 00:05:50 ]
- >>812
VC++ では >コンパイラの警告 (レベル 1) C4482 >エラー メッセージ >非標準の拡張機能が使用されています: enum 'enum' が限定名で使用されます >型の中の列挙型を参照するときは、列挙型の名前を指定する必要はありません。 だと。(型名)::(列挙子名) とするのは非標準らしい。 よく考えたら #define enum_class(Type) \ class Type\ {\ private :\ int value;\ public :\ Type() : value(0) { }\ Type(int value) : value(value) { }\ operator int() const { return value; }\ operator int &() { return value; }\ enum Tag;\ };\ enum Type::Tag とかすればほとんど C# ライクな列挙型もどきができるな。 これも非標準だし、列挙型みたいにする意義も薄れてるが。
|

|