所以这就是问题所在。我是新手,但是相同的代码在VS express 2013上运行得很好。我已经搜索过高低,向地板捐赠了一点以上的头发,用键盘反复威胁屏幕,并禁用了我的所有扩展无济于事:
代码:
#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':本地函数定义是非法的LINE 7
错误2错误C2143:语法错误:缺少';'在'}'LINE 7
之前错误3错误C2143:语法错误:缺少';'之前','LINE 7
错误4错误C2143:语法错误:缺少';'在'{'LINE 7
之前错误5错误C2065:'num':未声明的标识符LINE 8
错误6错误C2065:'num':未声明的标识符LINE 9
7智能感知:不允许使用不完整类型第7行
8智能感知:预期';'第7行
答案 0 :(得分:4)
您可以转到Support For C++11 Features (Modern C++)查看C ++ 11不同版本的Visual Studio支持哪些部分。
我们可以看到Initializer lists在2012年不支持,但在2013年得到支持。所以在这种情况下你只需使用2013.
您也可以使用=
语法:
double arRate [] = {2.2, 4.4, 7.4, 9.6}, arWeight [] = {2, 6, 10, 20};
^ ^
在C ++ 11之前运行良好
答案 1 :(得分:2)
适当的数组初始化语法:
double array_name[] = {/* values */};
您缺少=
或赋值运算符。