为什么这个简单的代码不起作用?
template<class U>
class retype
{
typedef U type;
};
class object
{
public:
template<class U>
int create(typename retype<U>::type p)
{
return 4;
}
};
int main()
{
int n = object().create(5);
return 0;
}
使用 GCC 编译时出现此错误:
test.cpp: In function ‘int main()’:
test.cpp:20: error: no matching function for call to ‘object::create(int)’
问题出在哪里?