2015-01-07 73 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下可用。

所以,如果你想使用该功能,你可能需要升级到后来的编译器。

相关问题