一般的に、インデックスの読み取りと書き込みアクセスの両方について、クラスの演算子[ ]
を宣言しますか?C++:[]演算子の読み込みアクセスと書き込みアクセスのオーバーロード
私はあなたが簡単に読み取りと書き込みの両方に使用されます1つのオーバーロード持って私にエラーを与える
/**
* Read index operator.
*/
T& operator[](T u);
/**
* Write index operator
*/
const T& operator[](T u);
のようなもの
../src/Class.h:44:14: error: 'const T& Class::operator[](T)' cannot be overloaded
../src/Class.h:39:8: error: with 'T& Class::operator[](T)'
さらに詳しい説明を追加すると、これは、演算子のオーバーロードによってオブジェクトへの参照が返されるためです。これにより、それに割り当てるだけでなく読み込むことができるため、1つの過負荷の必要があります。 – Chris