我需要为模板类定义一个朋友函数。该函数的返回类型是类的成员类型。现在,我不能事先声明它,因为当时不知道返回类型。像这样的东西
template<class T> class A;
//This doesn't work: error: need ‘typename’ before...
template<class T> A<T>::member_type fcn(A<T>::member_type);
//This doesn't work: error: template declaration of ‘typename...
template<class T> typename A<T>::member_type fcn(A<T>::member_type);
template<class T>
class A{
public:
typedef int member_type;
friend member_type fcn<T>(member_type);
};
我该怎么做呢?