non template friend function and overloading
Markus Trippelsdorf
markus@trippelsdorf.de
Sun Mar 26 21:22:00 GMT 2017
On 2017.03.26 at 21:56 +0300, Shmuel Hanoch wrote:
> Hi,
>
> I am trying to declare a (non template) friend function inside a template class.
>
> This code compiles just fine:
>
> #include <iostream>
>
> template <class T>
> struct Foo;
>
> template <class T>
> std::istream& operator>> (std::istream& is, Foo<T>& x);
>
> template<class T>
> struct Foo
> {
> //Foo operator>>(int x) const;
> friend std::istream& operator>> <>(std::istream& is, Foo<T>& x);
> };
>
>
> But if I remove the comment from the other overload, I get this error message:
>
> error: declaration of âoperator>>â as non-function
>
> Is this overload illegal?
Sorry, but this is not the right place for general C++ questions.
(There is nothing gcc specific in it.)
Please use another forum like stackoverflow.
--
Markus
More information about the Gcc-help
mailing list