6

最近、C++/CLI マネージ コードの作業を開始しましたが、常に次のように列挙型を定義してきました。

enum FV_MODE
{
    IDLE,DRAG,ADD_HITBOX,ADD_HURTBOX
};

今日まで、エラーメッセージが表示されたとき:

cannot define an unmanaged enum 'FViewer::FV_MODE' inside managed 'FViewer'
1>          use 'enum class'

メッセージとさまざまな Stack Overflow の質問で提案されているように、コードを次のように変更します。

enum class FV_MODE
{
    IDLE,DRAG,ADD_HITBOX,ADD_HURTBOX
};

すぐに問題を修正しました。

ただし、列挙型を定義するために現在知っている2つの異なる方法の違いにはまだ気づいていません。誰かが私のために明確にするのを助けることができますか? また、「列挙型クラス」がマネージド コードにより適している理由は何ですか?

前もって感謝します、

4

1 に答える 1

4

アンマネージド列挙型とマネージド列挙型の違いは、マネージド列挙型をマネージド コードにさらに近づける点で、マネージド列挙型はマネージド コードであり、アンマネージド列挙型はアンマネージド コードであるということです。マネージド列挙型は、マネージド コード メタデータによって通信できます。つまり、マネージド クラスの一部として明示されない可能性があります。

于 2013-06-17T10:52:46.197 に答える