2016-03-31 10 views
0

Ich bin ein Neuling und meinen Weg durch Programmierung Principles and Practice C++ von Stroustrup ... Ich benutze Netbeans 8.1 ide und haben ein Problem mit dem folgenden:Wie konfiguriert man g ++ Compiler in Netbeans 8.1 richtig für C++ 11/C++ 14 Unterstützung?

#include "std_lib_facilities.h" 
int main() 
{ 
vector<int> v = {0,1,2,3,4,5,6}; 
for(int i = 0; i < v.size(); ++i) 
    cout << v[i] << "\n"; 
} 

Wenn ich kompilieren, ich Erhalten Sie den Fehler Konnte {0, 1, 2, 3, 4, 5, 6} von <brace-enclosed initializer list> zu Vector<int> nicht konvertieren. Ich dachte, das hat vielleicht etwas mit der fehlenden Compiler-Unterstützung für c++11 oder 14 zu tun, meine compiler ist g++ 4.8. Muss ich irgendetwas zu den compiler Einstellungen hinzufügen oder ist es ein anderes Problem? Danke

+0

Verwenden Sie '-std = C++ 11' in Compiler-Schalter oder' -std = C++ 1y' –

Antwort

0

Fügen Sie das Compiler-Flag -std = C++ 14 für C++ 14 und ebenfalls -std = C++ 11 für C++ 11 hinzu. Fügen Sie den Build-Flags in Ihrer IDE nur eines dieser Flags hinzu.

+1

Vielen Dank! Das Problem war die Headerdatei, da ist ein Fehler drin. Wenn ich #include std_lib_facilities.h lösche und einfüge, funktioniert es gut. –

1

Stellen Sie sicher, dass Sie die new Version von "std_lib_facilities.h" anstelle von old verwenden.