请问decltype未定义怎么办

[Error] 'decltype' was not declared in this scope

这是因为你的编译器默认使用c++98标准,这个不支持decltype关键字。
解决方法是使用c++11或者c++14标准:
g++ -std=c++11 xxx.cpp
如果是在图形界面的集成开发环境,一般是通过“设置”界面选择使用哪个标准,你自己应该比较容易找到。

使用decltype的话,需要vc++2010或者gcc4.3以上