#include<iostream>
using namespace std;
main()
{
int m;
cin>>m;
int re[m];
cout<<sizeof(re);
}
Run Code Online (Sandbox Code Playgroud)
这段代码在代码GNU C++ 4.7中运行得很好(但不是在我的Microsoft Visual C++中).但为什么?数组大小不应该是常数吗?
如前所述,C++数组大小必须是常量表达式.
- 使用VS,您将获得: error C2057: expected constant expression
- GCC具有标准的扩展,允许您的代码进行编译.