vs 2012 Ultimate Update 4不会编译数组



,所以这是问题所在。我是新手,但同一代码在2013年的VS Express效果很好。我已经高低搜索,将我的头发捐赠了多一点,向地板板捐赠了一小部分,一再用键盘威胁到屏幕,并禁用了我所有的头发毫无用处的扩展:

代码:

    #include <iostream>
    using namespace std;
    int main () {
        double num;
        double arRate [] {2.2, 4.4, 7.4, 9.6}, arWeight [] {2, 6, 10, 20};
        num = 5.2;
        cout << num << endl;
        return 0;
    }

错误列表:

错误1错误C2601:'arrate':本地功能定义是非法行7

错误2错误C2143:语法错误:丢失';'在'}'第7行

之前

错误3错误C2143:语法错误:丢失';'在',','第7行

错误4错误C2143:语法错误:丢失';'在'{'第7行

之前

错误5错误c2065:'num':未声明的标识符行8

错误6错误c2065:'num':未声明的标识符行9

7 Intellisense:不允许行7

不允许使用类型

8 Intellisense:预期A';'第7行

您可以转到C 11功能(现代C )的支持,以查看C 11的哪些部分不同版本的Visual Studio支持。

我们可以看到,初始化列表在2012年不支持,而是在2013年得到支持。因此,您只需要在这种情况下使用2013。

您也可以使用=语法:

double arRate [] = {2.2, 4.4, 7.4, 9.6}, arWeight [] = {2, 6, 10, 20};
                 ^                                   ^

哪个工作正常pre-c 11

适当的数组初始化语法:

double array_name[] = {/* values */};

您缺少=或分配操作员。

最新更新