用变量初始化向量,C++

Ada*_*dam 1 c++ initialization vector

我希望能够使用如下变量初始化向量:

    int min,max;
    scanf("%d %d", &min, &max); 
    vector<int> day(min, max, max);
Run Code Online (Sandbox Code Playgroud)

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

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

有没有办法解决这个问题?如果重要的话,我正在使用Visual Studio 2013.谢谢!

Mik*_*our 5

假设您的编译器支持它,您需要list-initialisation来指定向量的内容:

vector<int> day{min, max, max};
Run Code Online (Sandbox Code Playgroud)

在C++ 11之前,它更加乏味:

vector<int> day;
day.push_back(min);
day.push_back(max);
day.push_back(max);
Run Code Online (Sandbox Code Playgroud)