以下では :
template<typename Derived>
class Base:
{
inline Derived& operator=(const Base<Derived>& x);
}
この宣言はデフォルトのコピー代入演算子を消去しますか、それとも2つの演算子がありますか?
inline Derived& operator=(const Base<Derived>& x);
// (declared by me)
と
inline Base<Derived>& operator=(const Base<Derived>& x);
// (declared by the compiler)
この場合、関数を呼び出すと、コンパイラはどのようにして適切な演算子を取得しますか?