class matrix {
public:
int **A;
int nrColoane;
int nrLinii;
public:
int& operator[] (int nrLinii, int nrColoane);
};
答案 0 :(得分:1)
我担心这是不可能的。解决问题的常用方法是重载operator()。
class Matrix {
public:
int& operator () (int i, int j);
};
答案 1 :(得分:1)
正如其他人所提到的,使用operator()
来解决问题很常见。另一种方法是仍然使用operator[]
获取一个参数,但返回一个表示一行的对象(并保留对原始对象的引用)。然后行对象将再次实现operator[]
并返回实际值。