假设我在A.cpp文件中有以下代码:
template <typename T>
class A{
typedef T myType;
myType foo();
}
如果我想在这个文件中实现foo函数,那么编写函数声明的语法是什么? 我以为它会是:
template <class T>
myType A<T>::foo(){
.
.
.
}
显然这是错误的。
答案 0 :(得分:4)
是的,typedef仅在类中可用,并且返回类型不在类中:
template <class T>
typename A<T>::myType A<T>::foo() {}
答案 1 :(得分:0)
template <typename T>
typename A<T> :: myType A<T> :: foo ()
{
}