【发布时间】:2012-10-02 23:56:42
【问题描述】:
Visual C++ 2012 中enum class 有两个相互冲突的定义:
- C++11,
enum的类型安全版本 - C++/CLI,
System::Enum派生类型,等效于具有静态 const 整数成员的ref class。
启用或禁用 /clr 开关时enum class 的含义会改变吗?
【问题讨论】:
-
名称是Visual C++ 2012。它是产品的版本 11(编译器的版本17!),但产品名称是 Visual C++ 2012(它是 Visual Studio 2012 的一部分)。
-
@JamesMcNellis Visual C++ 11 是微软通常对它的称呼 (blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx) (msdn.microsoft.com/en-us/magazine/hh852594.aspx) (herbsutter.com/2012/02/29/vc11-beta-on-feb-29)。显然,官方命名为“Visual Studio 2012 中的 Visual C++”。反正我不会再争论这个了。
-
是的,所有预览版都使用“11”。当最终版本制作完成时,它被命名为“2012”。
标签: c++ .net visual-c++ enums c++11