#include<iostream>
using namespace std;
main()
{
  int m;
  cin>>m;
  int re[m];
  cout<<sizeof(re);
}

该代码在codeforce GNU C++ 4.7中运行完美(但在我的Microsoft Visual C++中却没有)。但为什么?
数组大小不应该是常数吗?

最佳答案

正如您提到的,C++数组大小必须是常量表达式。
-使用VS,您将获得:error C2057: expected constant expression-GCC对标准进行了扩展,从而可以编译您的代码。

关于c++ - 此C++代码如何在GCC中运行,而不在Visual C++中运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19750335/

10-12 23:13