首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++ int a [n]在g ++中工作但不在vs2008中工作

首先,我们需要了解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。这是一个示例代码:

代码语言:cpp
复制
#include<vector>

int main() {
    int n = 10;
    std::vector<int> a(n);
    return 0;
}

在这个示例中,我们使用std::vector来创建一个大小为n的整数数组。这种方法在所有现代C++编译器中都是可以接受的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券