In the following :
template<typename Derived>
class Base:
{
inline Derived& operator=(const Base<Derived>& x);
}
Does this declaration erases the default copy assignment operator or do I have two operators :
inline Derived& operator=(const Base<Derived>& x);
// (declared by me)
AND
inline Base<Derived>& operator=(const Base<Derived>& x);
// (declared by the compiler)
In this case, when I call the function, how the compiler will get the right operator ?