抽象クラスで添え字演算子 ([]) をオーバーロードしようとしています。オーバーロードによって呼び出される関数は具象オブジェクトに実装されています。
class CollectionBase {
public:
double& operator[] (const int nIndex)
{
return getValue(nIndex);
}
virtual double getValue(int index) = 0;
};
class Collection : public CollectionBase
{
double getValue(int index) { return 0; }
};
私が抱えている問題は、コンパイラがオーバーロードの getValue の呼び出しでエラーをスローしていることです。
非 const への参照の初期値は左辺値でなければなりません
私がやろうとしていることの構文を知っている人はいますか?