はきだめC/C++下級者 ..
813:808
08/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# ライクな列挙型もどきができるな。
これも非標準だし、列挙型みたいにする意義も薄れてるが。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4772日前に更新/249 KB
担当:undef