C++相談室 part60
■ このスレッドは過去ログ倉庫に格納されています
0607デフォルトの名無しさん
2008/02/19(火) 17:23:22今の場合、コンパイラが暗黙に定義するコピー代入演算子が
派生クラスには存在している。基底クラスとはスコープが
異なるためオーバーロードにはならず、以下のものしか
候補にならないた一致するoperator=が無いと怒られる。
ChogeA& operator=(const ChogeA&);
ちなみに危険ではあるが
T& operator =(unsigned long val32) {
val = val32;
return *static_cast<T*>(this);
}
}
};
class ChogeA : public BASECLASS<ChogeA>
{
public:
using BASECLASS<ChogeA>::operator=;
};
// ■クラスB
class ChogeB : public BASECLASS<ChogeB>
{
public:
using BASECLASS<ChogeB>::operator=;
};
として可視にすればオーバーロードのセットに入るので
これでも動くかと。
■ このスレッドは過去ログ倉庫に格納されています