C++ vector 初始化

标签 c++ vector initialization

#include <vector>
...
//inside main function
vector<int> vi3 = {42,42,42,42,42,42,42,42,42,42};

我正在学习 C++,我认为可以像这样初始化一个 vector ……我做错了什么吗?我知道初始化 vector 的其他方法。在我正在阅读的书中,它说也可以这样做:

vector<int> vi3{42,42,42,42,42,42,42,42,42,42};

这是书中第一个让我出错的地方。我做错了什么?

最佳答案

不清楚您使用的是哪个编译器,但 2013 预览版之前的 Microsoft Visual Studio 版本不支持统一初始化语法 {}

如果您正在使用 gcc,您需要告诉它使用 C++11:

-std=c++0x

关于C++ vector 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17525775/

相关文章:

c++ - 为 QAudioDecoder 子类化 QIODevice

c++ - 如何在 C++ 中使用共享/弱指针干净地实现两个引用彼此的对象?

c++ - 带大括号的结构初始化/赋值

c - 在c中初始化字符串数组的不同方法

Python - 在 __init__() 之外定义的实例属性

C++:如何将参数传递给自定义异常?

math - 计算直线垂线上的点的笛卡尔坐标

c++ - 在 std::vector 中调整大小与 push_back :它是否避免了不必要的复制分配?

c++ - 如何将指针语义添加到 C++ STL 中?

c++ - 如何在 Bazel 项目中设置 Catch2