2015-01-07 76 views
0
#include <iostream> 
using namespace std; 


void fun(int i) 
{ 
    cout<<"Called with int "<<i; 
} 

void main() 
{ 
    using df = decltype(&fun); 
} 

我收到以下語法錯誤在Visual Studio中,其中,基於項目目錄爲什麼這個簡單的代碼給語法錯誤?

Error 1 error C2143: syntax error : missing ';' before '=' c:\users\kpranit\documents\visual studio 2012\projects\sample\sample\sample.cpp 12 

Error 2 error C2873: 'df' : symbol cannot be used in a using-declaration c:\users\kpranit\documents\visual studio 2012\projects\sample\sample\sample.cpp 12 
+0

它適合我。 – BWG

+0

看起來像那個版本的編譯器太舊了。試試最新的? –

回答

3

的Visual Studio 2012,是你使用的一個,不支持型走樣。

這是一個C++ 11功能,並不出現在MSDN documentation,即使VS2013,雖然我認爲這可能只是他們一方的文檔錯誤 - Microsoft site for C++11 compatibility(尋找「別名模板」)列表它在VS2013下可用。

所以,如果你想使用該功能,你可能需要升級到後來的編譯器。

相關問題