【问题标题】:Got an Error declaring vector - expected expression声明向量时出错 - 预期表达式
【发布时间】:2021-12-13 01:38:06
【问题描述】:

在第 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++ 11 的编译器。
  • 你的意思是 m_Length 而不是 m_Lenght?
  • 将两行改为:vector&lt;int&gt; m_Lenght{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31};,或改为:m_Lenght = vector&lt;int&gt;{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31};
  • @Eljay 你的评论没有意义。
  • @Eljay 这两个选项都不起作用。

标签: c++ vector initialization assignment-operator stdinitializerlist


【解决方案1】:

采用 C++ 11 之前的编译器不支持使用 std::initializer_list 初始化容器。没有初始化列表构造函数。

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

【讨论】:

    猜你喜欢
    • 2017-01-26
    • 2021-09-12
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2019-05-14
    相关资源
    最近更新 更多