Guy*_*ean 6 c++ enums c++-cli enum-class
我最近开始使用C++/CLI托管代码,但我总是定义这样的枚举:
enum FV_MODE
{
IDLE,DRAG,ADD_HITBOX,ADD_HURTBOX
};
Run Code Online (Sandbox Code Playgroud)
直到今天,当我遇到错误消息:
cannot define an unmanaged enum 'FViewer::FV_MODE' inside managed 'FViewer'
1> use 'enum class'
Run Code Online (Sandbox Code Playgroud)
正如消息和各种Stack Overflow问题中所建议的那样,将我的代码更改为:
enum class FV_MODE
{
IDLE,DRAG,ADD_HITBOX,ADD_HURTBOX
};
Run Code Online (Sandbox Code Playgroud)
迅速解决了问题.
但是,我仍然没有意识到我现在知道定义枚举的两种不同方式之间的差异.有人可以帮我澄清一下吗?还有什么使"枚举类"更适合托管代码?
提前致谢,
家伙
非托管枚举和托管枚举之间的区别使托管枚举更适合托管代码,因为托管枚举是托管代码,非托管枚举是非托管代码。托管枚举可以通过托管代码元数据进行通信。非托管枚举不能,这意味着它们可能不会表现为托管类的一部分。
归档时间: |
|
查看次数: |
2123 次 |
最近记录: |