声明向量 - 预期表达式时出错

Got an Error declaring vector - expected expression

提问人:Антон Ананьев 提问时间:10/28/2021 最后编辑:Vlad from MoscowАнтон Ананьев 更新时间:10/28/2021 访问量:1321

问:

在第 15 行出现错误“预期表达式”。不知道它需要什么以及如何解决它。

#include <iostream>
#include <vector>
#include <string>
#include <set>

using namespace std;

int main() {
    int q;
    cin >> q;
    string command, task;
    int day;
    int index = 1;
    vector<int> m_Lenght;
    m_Lenght = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31}; //<-- Here in line 15
    return 0;
}
C++ 向量 初始化 赋值运算符 stdinitializerlist

评论

2赞 Vlad from Moscow 10/28/2021
使用至少支持 C++ 11 的编译器。
2赞 Vlad from Moscow 10/28/2021
你的意思是m_Length而不是m_Lenght?
2赞 Eljay 10/28/2021
将两行改为一行:,或将一行改为:vector<int> m_Lenght{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31};m_Lenght = vector<int>{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31};
0赞 Vlad from Moscow 10/28/2021
@Eljay 你的评论没有意义。
0赞 Антон Ананьев 10/28/2021
@Eljay 这两个选项都不起作用。

答:

1赞 Vlad from Moscow 10/28/2021 #1

在采用 C++ 11 之前,编译器不支持使用 .没有初始值设定项列表构造函数。std::initializer_list

因此,要么使用更现代的编译器,要么选择允许使用 C++ 11 中引入的功能的编译器选项。