inline template not expanded.

Jason Merrill
Thu Oct 9 09:50:00 GMT 1997

>>>>> Alexandre Oliva <> writes:

>> template<class T>
>> class w {
>> // Problem with this friend declaration. Removing it fix the problem
>> friend str& operator<<(str&, const w<T>&);
> // note the angle brackets indicating a template function whose
> // arguments can be deduced from the argument list:
>       friend str& operator<< <>(str&, const w<T>&);
> // the template argument could have been given explicitly:
> //    friend str& operator<< <T>(str&, const w<T>&);

And if you need the overloading effect of a guiding decl, you can write

	friend str& operator<<(str &x, const w<T> &y) 
	  { return operator<< <> (x, y); }


More information about the Gcc-bugs mailing list