[讨论]关于类模板中的友元
最近用.net 时发现的问题:当类模板中有友元函数时,类中声明需写成这种形式:template<class T>
class A
{
.....
template<class T> //这行在6.0中可省略,而.net中不能省略,否则报错!!!!!!!! 注:MSDN中这样写,请问这是标准吗??
friend std::ostream& operator<< (std:ostream& os ,const A<T>& a);
...
}
//定义
template<class T>
std::ostream& operator<< (std:ostream& os ,const A<T>& a)
{
....
}
一个有意思的问题:先在6.0中编写省略template<class T> 的程序,通过后再在.net中运行仍可通过;
而直接在.net中编写省略template<class T> 的程序,则不能通过????????