2016-04-23 117 views
2

我是新來的C++。在教程中,我正在讀關於autodecltype和嘗試以下操作:C++中的decltype()導致編譯錯誤

#include <iostream> 

using namespace std; 

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


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

,並在編譯時我收到此錯誤:

tst.cpp.6:1:警告:標識符「decltype」被C++中的關鍵字11

爲什麼會發生這種情況?

+1

你明確允許在構建鏈C++ 11層的功能? – StoryTeller

+1

順便說一句,這不是一個錯誤,這是一個警告。差異:錯誤=錯誤,編譯被中止。警告=某些東西看起來對編譯器來說可疑,但它仍然繼續編譯。 – HolyBlackCat

回答

4

你需要-std=c++11標誌(命令行參數)添加到您的編譯器:

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

更多閱讀:Compiling C++11 with g++

相關問題