你好,
根据您的代码,您所定义的是操作符,所以应该没有返回值。您可以这样定义友元操作符
friend std::ostream&
operator <<
<T>
(std::ostream& os,
const Number<T>& n);
如果您需要定义友元函数,你可以如下定义:
template <typename T> friend
void function
<T>(const Number<T>& n);
此外您还需要注意的是,在申明友元函数后,您可以直接在模板中定义函数。如果您想在类模板外定义,请注意当模板函数被声明为类模板的友元时,在函数名之后必须紧跟模板实参表,用来代表该友元声明指向函数模板的实例。否则友元函数会被解释为一个非模板函数,链接时无法解析。
希望我的回答能够帮助您解决您的问题。
Rob Pan [MSFT]
MSDN Community Support |
Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
