non template friend function and overloading
Shmuel Hanoch
shmuel@infinitylabs.co.il
Sun Mar 26 19:44:00 GMT 2017
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?
Thanks,
Shmuel
More information about the Gcc-help
mailing list