Visual C++ 编译器选项
Microsoft C 和 C++ 扩展
更新:2007 年 11 月
以下是对 ANSI C 和 ANSI C++ 标准的 Visual C++ 扩展:
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
Microsoft 用数个附加关键字扩展 C++ 语言。有关完整列表,请参见“C++ 语言参考”中的 C++ Keywords 。有两个前导下划线的关键字是 Microsoft 扩展。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
在标准 (/Za ) 下,需要为数据成员做出类外定义。例如,
class CMyClass {
static const int max = 5;
int m_array[max];
}
...
const int CMyClass::max; // out of class definition
在 /Ze 下,类外定义对于静态、常量整型和常量枚举数据成员是可选的。只有为 static 且为 const 的整型和枚举可以在类内有初始值设定项;初始化表达式必须是常数表达式。
若要在提供类外定义时(当在头文件中提供类外定义,且该头文件包含在多个源文件中时)避免错误,应使用 selectany 。例如:
__declspec(selectany) const int CMyClass::max = 5;