首先,我们需要了解C++中的数组定义和初始化。在C++中,数组的大小必须是常量表达式。在这个例子中,int a[n]
表示a
是一个整数数组,其大小由变量n
决定。
在C++11之前,数组的大小必须是常量表达式,因此int a[n]
是非标准的。从C++11开始,可以使用变量作为数组大小,但是编译器对此的支持可能会有所不同。
Visual Studio 2008(VS2008)是一个较早的C++编译器,它可能不支持C++11中的变量长度数组(VLA)。而g++是一个支持C++11的编译器,因此它可以正常编译int a[n]
。
为了解决这个问题,您可以使用标准C++的动态数组,例如std::vector
。这是一个示例代码:
#include<vector>
int main() {
int n = 10;
std::vector<int> a(n);
return 0;
}
在这个示例中,我们使用std::vector
来创建一个大小为n
的整数数组。这种方法在所有现代C++编译器中都是可以接受的。
领取专属 10元无门槛券
手把手带您无忧上云