这是我的代码:
int main()
{
const int LEN = 5;
int x[LEN];
}
VS10提示:
错误 C2057:需要常量表达式
错误 C2466:无法分配大小为0的常量数组
错误 C2133:'x':未知大小
我甚至尝试了这个页面上的代码,它也出现了同样的问题(我注释了会出错的代码,并取消了正确的代码的注释):http://msdn.microsoft.com/en-us/library/eff825eh%28VS.71%29.aspx
如果我使用的是劣质编译器,我会认为这是编译器的一个bug,但它是VS2010!
#define
不是定义常量的好方法,因为它们使用预处理器且缺少类型信息等;许多较新的语言甚至没有相当于#define
的功能。在大多数情况下,像这样的常量是更好的实践方法。 - user541686