c++ - 用变量初始化 vector ,C++

标签 c++ vector initialization

我希望能够使用这样的变量来初始化 vector :

    int min,max;
    scanf("%d %d", &min, &max); 
    vector<int> day(min, max, max);

但是当我尝试时,我收到一条错误消息:

IntelliSense:构造函数“std::vector<_Ty, _Alloc>::vector [with _Ty=int, _Alloc=std::allocator]”的实例不匹配参数列表 参数类型有:(int, int, int)

有什么办法可以解决这个问题吗?如果重要的话,我正在使用 Visual Studio 2013。谢谢!

最佳答案

假设您的编译器支持,您需要列表初始化来指定 vector 的内容:

vector<int> day{min, max, max};

在 C++11 之前,它相当乏味:

vector<int> day;
day.push_back(min);
day.push_back(max);
day.push_back(max);

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

相关文章:

c++ - C++ 栈中的数组

c++ - 通过校验和快速验证 1500 字节的内存

c++ - 更改添加隐藏 this 指针的方法是否会破坏二进制兼容性?

pointers - 将值推送到指针向量具有垃圾值

C:传递二维数组的一维会导致段错误

python - 尝试使用未初始化的值InceptionV3/Mixed_6d/Branch_3/Conv2d_0b_1x

c++ - 为什么 C++11 不支持 C99 指定的初始化列表?

Java JNA -> C++ -> .NET 库必须在 System32 中

c++ - 使用 OpenGL 固定函数旋转和平移二维图像

r - 如何根据值在矩阵上水平移动行