let's say I have the following code in A.cpp file:
template <typename T>
class A{
typedef T myType;
myType foo();
}
If I want to implement the foo function in this file , what is the syntax to write the function declaration? I though开发者_如何学Ct it'll be:
template <class T>
myType A<T>::foo(){
.
.
.
}
obviously it's wrong.
Yes, the typedef is only available within the class, and the return type is not in the class:
template <class T>
typename A<T>::myType A<T>::foo() {}
template <typename T>
typename A<T> :: myType A<T> :: foo ()
{
}
精彩评论