2016-04-01 12 views
3

, aşağıdaki hatayı alıyorum:Derleyici hatası: "Birleştirmeler, başlatıcı listesiyle başlatılamıyor." C++ basit vektör oluşturulmaya çalışılırken

Non-aggregates cannot be initialized with initializer list.

kullanıyorum kodudur:

CONFIG += c++11 
:

#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]; 
} 

ben koymak için çalıştı

benim .pro dosyama kaydedildi ve yeniden oluşturuldu. Bununla birlikte, hala aynı hatayı alıyorum. Ben Qt 5.5 olmak için varsayalım, kullanıyorum, işte size bir şey ifade ederse About'a bastığımda ne olur: Qt's About.

Herhangi bir yardım için teşekkür ederiz.

+0

hedef derleyici nedir:

Ancak, böyle bir şey yapabilir? VS2013? –

+1

Olası çoğaltılabilir [std :: vektörünü kodlanmış öğelerle ilklendirmenin en kolay yolu nedir?] (Http://stackoverflow.com/questions/2236197/what-is-the-easiest-way-to-initialize-a -stdvector-with-hardcoded-elements) – Barmar

+0

@Barmar bunun bir kopyası değil; OP kodu doğru ama sorun, C++ 11 modu –

cevap

0

aşağıdaki satırı:

vector <int> theVector = {1, 2, 3, 4, 5}; 

önceden C++ 11 derlenmeyecektir.

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