编译器错误:";无法使用初始值设定项列表初始化非聚合。”; 在C++中尝试创建一个简单的向量时,我得到以下错误:

编译器错误:";无法使用初始值设定项列表初始化非聚合。”; 在C++中尝试创建一个简单的向量时,我得到以下错误:,c++,qt,C++,Qt,无法使用初始值设定项列表初始化非聚合 我使用的代码是: #include <iostream> #include <string> #include <vector> using namespace std; int main(int argc, char *argv[]) { vector <int> theVector = {1, 2, 3, 4, 5}; cout << theVector[0]; } 进入我

无法使用初始值设定项列表初始化非聚合

我使用的代码是:

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main(int argc, char *argv[])
{
    vector <int> theVector = {1, 2, 3, 4, 5};
    cout << theVector[0];
}
进入我的
.pro
文件,保存并重建它。然而,我仍然得到同样的错误。我使用的是我假设的Qt5.5,下面是当我按下
About
时发生的情况,如果它对您有任何意义的话:

感谢您的帮助

下面一行:

vector <int> theVector = {1, 2, 3, 4, 5};
vector theVector={1,2,3,4,5};
不会编译C++11之前的版本

但是,您可以这样做:

static const int arr[] = {1, 2, 3, 4, 5};
vector<int> theVector (arr, arr + sizeof(arr) / sizeof(arr[0]) );
static const int arr[]={1,2,3,4,5};
向量向量(arr,arr+sizeof(arr)/sizeof(arr[0]);

您的目标编译器是什么?VS2013?可能是@Barmar的副本,而不是该副本;操作代码是正确的,但问题是如何为C++11配置编译器mode@M.M但是,这里的答案显示了其他方法来初始化一个向量,它将与旧的C++版本一起工作。@ R SaHuu我不确定,我有点初学者。我只是使用QT Creator并按run?
static const int arr[] = {1, 2, 3, 4, 5};
vector<int> theVector (arr, arr + sizeof(arr) / sizeof(arr[0]) );