C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C# 及び C++/CLI の enum


(過去ログ 131 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■77362 / inTopicNo.1)  C# 及び C++/CLI の enum
  
□投稿者/ 納豆 (6回)-(2015/10/14(Wed) 18:03:53)

分類:[C++/CLI] 

こんにちわ。

public enum class MaxVal : int
{
	Test = 100,
};

この様に enum を定義して、

for(int i = 0; i < MaxVal::Test; i++)

とすると、error C3063: 演算子 '<': すべてのオペランドには、同じ列挙型を指定しなければなりません
と言って怒ります。

for(int i = 0; i < (int)MaxVal::Test; i++)

仕方なく、このようにキャストして使用していますが、

public enum class MaxVal : int ← これ

この型の指定みたいなのは、何のために存在しているのでしょうか?


引用返信 編集キー/
■77364 / inTopicNo.2)  Re[1]: C# 及び C++/CLI の enum
□投稿者/ Azulean (525回)-(2015/10/14(Wed) 21:10:10)
No77362 (納豆 さん) に返信
> この型の指定みたいなのは、何のために存在しているのでしょうか?

その enum 型がメモリ上でどの程度のサイズを持つか決めるためでしょうか。
C# の該当部分の説明をお読みいただければ、今回の例ではそのまま当てはまるかと。

https://msdn.microsoft.com/ja-jp/library/sbbt4032.aspx
引用返信 編集キー/
■77365 / inTopicNo.3)  Re[2]: C# 及び C++/CLI の enum
□投稿者/ 774RR (322回)-(2015/10/14(Wed) 21:13:36)
まあこの例の場合は enum を使うよりは const を使うと良い感じでしょう。
C# の enum は勝手に int になったりしないのが良いところなので・・・

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -