我不确定为什么我在这条线上遇到错误。
我正在编译
$CPP -g -std=c++0x -Wall
其中 $CPP 是 g++-4.7。我包括 type_traits (C++ 11,不是 boost)。这在 4.7.2 中还不支持吗?
typedef typename remove_pointer<typename T>::type &U;
错误
file.h:222:44: error: template argument 1 is invalid
file.h:222:19: error: expected nested-name-specifier
file.h:222:47: error: typedef name may not be a nested-name-specifier
file.h:222:47: error: expected ‘;’ at end of member declaration
file.h:222:53: error: ISO C++ forbids declaration of ‘U’ with no type [-fpermissive]