2016-04-23 10 views
2

Ich bin neu in C++. In einem Tutorial Ich las über auto und decltype und versucht, die folgenden:decltype() in C++ verursacht Kompilierungsfehler

#include <iostream> 

using namespace std; 

int foo = 0; 
decltype(foo) bar; 
bar = 22; 


int main(){ 
    cout<<foo; 
    cout<<bar; 
    } 

und ich bekomme diese Fehlermeldung beim Übersetzen:

tst.cpp.6: 1: Warnung: Bezeichner 'decltype' ist ein Schlüsselwort in C++ 11

Warum passiert das?

+1

Haben Sie explizit aktivieren C++ 11 Funktionen in Ihrem Build-Kette? – StoryTeller

+1

Btw, es ist kein Fehler, es ist eine Warnung. Unterschied: Fehler = etwas ist falsch, die Kompilierung wurde abgebrochen. Warnung = etwas sieht dem Compiler verdächtig aus, aber es hat trotzdem die Kompilierung fortgesetzt. – HolyBlackCat

Antwort

4

Sie benötigen -std=c++11 Flag (Befehlszeilenargument) zu Ihrem Compiler hinzuzufügen:

g++ -std=c++11 tst.cpp -o your_program_name.exe 

Weitere Lesung: Compiling C++11 with g++