2016-06-02 10 views
-1

Ich studiere Auto mit dem C++ Primer 5th Edition. Sie gaben mir Beispiele wie:Fehler: nennt keinen Typ (mit Auto)

Von was ich verstehe auto sagt Ihnen, welche Art Formen von dem Ausdruck, den Sie machen. Also habe ich meine eigenen:

int test1 = 69, test2 = 72; 
auto test3 = test1 + test2; 

, aber ich habe den Fehler: „‚test3‘Namen hat keinen Typen“

Was bedeutet das? Ich though test3 wird der gleiche Typ wie test1, test2 was int ist.

+3

Welche Compiler/Optionen, die Sie zu kompilieren verwenden, es klingt wie Sie ohne C++ 11-Unterstützung sind kompilieren. – kfsone

+0

@kfsone im Verwenden von Codeblocks mit dem eingebauten Mingw. C++ 11 ist standardmäßig aktiviert. EDIT: Ich versuchte mit dem Befehl -std = C++ 11, das gleiche Ergebnis – chaosfirebit

+0

Verdammt Bugs, funktioniert es in http://cpp.sh/35avt aber nicht mit Code :: Blöcke – chaosfirebit

Antwort

1

Ich führe das Beispiel ohne --std=c++11, schlägt es mit der gleichen Fehlermeldung fehl.

Versuchen Sie, Codeblocks erneut wie this schlägt vor.

Oder Sie können den Code von Hand wie g++ --std=c++11 code.cc ausführen.

Um zu sehen, ob C++ 11 aktiviert ist, können Sie mehr C++ 11 Code eingeben, z. B. einfach verschachtelten Vektor vector<vector<int>> vv; deklarieren, um zu sehen, ob es >> gut behandelt.


  1. How can I add C++11 support to Code::Blocks compiler?
+0

Ja, ich habe herausgefunden, dass es meine eigene Frage beantworten würde, aber danke für die Antwort. Was ich getan habe, war zu Projekt gehen-> legen Sie Projektargumente und fügen Sie -std = C++ 11, aber es hat nicht funktioniert. Also habe ich gegoogelt und es jetzt laufen lassen, aber danke nochmal! – chaosfirebit