所以我一直在阅读多本(并重新发送)C++ 书籍并学习向量,他们都告诉我要定义这样的向量:
vector<int> v1 = {4 ,3 ,5};
但是当我编译它时(我在代码块中使用 gnu gcc 编译器)它出现了这个错误
在 c++ 98 中,’v1’ 必须由构造函数初始化,而不是由 ‘{…}’ 初始化, 并且我还得到了另一个 sais: 无法从 ‘大括号括起来的初始化列表’中转换 ‘{4, 3, 5}‘到 ‘std::vector v1’
如果您能帮助我,将不胜感激。 我确实包括了向量库。
原文由 Harry the hacker 发布,翻译遵循 CC BY-SA 4.0 许可协议
您使用的初始化称为
initializer list
并且从 c++11 开始支持。为确保编译代码,请使用
C++11
或更高版本-std
选项。或者一般来说,不要使用C++98
。如果您使用的是 g++,请阅读:使用 g++ 编译 C++11
从评论 OP 正在使用代码块。在点击编译按钮之前,您可以使用以下步骤:(来源: 如何将 C++11 支持添加到 Code::Blocks 编译器? )