【问题标题】:expected ';' at end of declaration /vector /c++预期的 ';'在声明的末尾 /vector /c++
【发布时间】:2018-10-11 17:04:08
【问题描述】:

当我尝试在 C++ 中初始化一个 int 向量时,我总是得到“预期的 ';'在声明结束时”错误。

我使用了 C++ Primer 的原始代码

vector<int> v{1,2,3,4,5,6,7,8,9};

和

$ g++ -o test test.cpp

我认为这是一个愚蠢的问题,但我确信有一个“;”......并且无法设法搜索答案.. 谢谢。

【问题讨论】:

  • 在 C++11 中添加了大括号初始化。您可能必须指示您的编译器在 C++11 模式下运行。

标签: c++ vector


【解决方案1】:

g++ 默认采用 C++03,而您尝试使用的语法来自 C++11。将编译行改为:

$ g++ -std=c++11 -o test test.cpp

或者,我个人更喜欢:

$ g++ -Wall -Werror -pedantic -std=c++1y -o test test.cpp 

:)

注意:您是使用c++0x、c++11 还是c++1y(也可能是c++14)主要取决于编译器版本,因为它们是连续引入的。

【讨论】:

    【解决方案2】:

    您的编译器默认不支持大括号初始化;这是在 C++11 中添加的。

    可能有一个命令行参数可以在编译器中使用,类似于

    -std=c++11

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 2019-04-15
      • 2021-10-31
      相关资源
      最近更新 更多