-1

私は次のように列挙型を宣言しました:

enum fileType {typeA, typeB};

これにより、directoryTypeタイプを文字列に追加しようとするとエラーが発生します。列挙型識別子の基になる型を列挙型宣言に含める必要があると思います。またはのようなもの

enum fileType : string {typeA, typeB}; 

http://msdn.microsoft.com/en-us/library/2dzy4k6e(v=vs.80).aspxで説明されているように

しかし、これは私にとってはコンパイルされていません。列挙型識別子の基になる型を宣言するための適切な構文は何ですか?

4

1 に答える 1

1

列挙型の基になる型として整数型のみを持つことができます。char short intこれは、およびのような符号付きおよび符号なしの型を意味しlongます。

列挙の名前は、実行時にどこにもありません。それらを表示する (または文字列に追加する) 場合は、特別なコードを記述する必要があります。

 enum fileType {typeA, typeB};
 const char *fileType_str[]={ "typeA","typeB"};

 fileType x = typeA;
 // display x
 std::cout << "x is " << fileType_str[x] << std::endl;

 // append x to string
 std::string y = "directoryType type to a ";
 y += fileType_str[x];
于 2012-09-23T23:40:33.470 に答える