質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Q&A

解決済

2回答

3817閲覧

visual studioでenum classを使いたい

albacrow

総合スコア31

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

0グッド

0クリップ

投稿2016/11/27 16:00

visualC++ 2015でenum classを使いたいのですがビルドが通らず困っています。
もし、必要な設定などあれば教えていただけるとありがたいです。

enum class hoge
{
hogehoge,
hogehogehoge,
};

エラー一覧
1>d:...: error C2332: 'enum' : タグ名がありません
1>d:...: error C2236: 予期しない 'class' 'hoge' です。';' が入力されていることを確認してください。
1>d:...: error C3381: 'hoge' : アセンブリ アクセス指定子は、/clr オプションと共にコンパイルされたコードでのみ使用できます
...

上記のソースコードから class を抜くとビルドは通りました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは。

Visual Studio 2015は、特に何もしなくても、C++11で解釈しますので通るはずです。
そのソースの直前に何か変なものがありそうな気がします。

手元のmsvc 2015 update3で下記ソースをcl.exe test.cppでビルドに通ることを確認しました。

C++

1enum class hoge 2{ 3hogehoge, 4hogehogehoge, 5}; 6 7int main() 8{ 9 return 0; 10}

投稿2016/11/27 17:47

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

albacrow

2016/11/27 19:33

回答ありがとうございます。 class hogehogehoge { public: enum class hoge { hogehoge, hogehogehoge, }; }; int main() { auto var = hogehogehoge::hoge::hogehoge; return 0; } 新しいプロジェクトを作成し上記のソースを書いたところ、ビルドが通りました。 プロジェクトを見直して変なところがないか探してみます。
albacrow

2016/11/27 21:14

調べたところ、vs2010で作成したプロジェクトをvs2015で編集しているのが原因でした。 ご協力ありがとうございました。
Chironian

2016/11/28 00:27

なるほど。 c++11非対応なソースをc++11対応でビルドすると不都合があるのかも知れませんね。 それで古いプロジェクトを引き継いだ時は非c++11でビルドするのかも。
guest

0

public enum class hoge

ってしてみて?

投稿2016/11/27 17:28

mugicya

総合スコア1046

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

albacrow

2016/11/27 17:43

回答ありがとうございます。 public enum class hoge { hogehoge, hogehogehoge, }; と書いてみましたが、エラー一覧に'構文エラー 'public''が増えただけでした。 それとも上記以外の書き方でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問