Cell
私は、ここで定義と呼ばれるテンプレートクラスを持っています:
template <class T>
class OneCell
{
.....
}
Cell
ここにからTまでのキャスト演算子があります
virtual operator const T() const
{
.....
}
今、私はDCell
ここ でと呼ばれるクラスを派生させました
template <class T>
class DCell : public Cell<T>
{
.....
}
セルのキャスト演算子をオーバーライドする必要があります(ifを少し挿入します)が、セルのキャスト演算子を呼び出す必要があります。他の方法では、次のようになります
virtual operator const T() const
{
if (...)
{
return Cell<T>::operator const T;
}
else throw ...
}
しかし、コンパイラエラーが発生しました
エラー:タイプ'const int(Cell ::)()const'の引数が'constint'と一致しません
私に何ができる?
ありがとう、そして私の貧弱な英語について申し訳ありません。