C++ 矩阵中的运算符重载:如何同时重载()和=

C++ 矩阵中的运算符重载:如何同时重载()和=,c++,class,operator-overloading,C++,Class,Operator Overloading,我试着做一类矩阵,并试着像这样分配索引的值 M(0,3)=3; 通过运算符重载。 无法确定如何重载此运算符 它的原型应该是这样吗 void operator()=(int i,int j,int s);//how to overload? float operator()(int i,int j);//this can be used to get that number form that index. 没有运算符()=。您希望操作符()返回对矩阵中元素的引用。然后可以指定给被引用的元素

我试着做一类矩阵,并试着像这样分配索引的值

M(0,3)=3;
通过运算符重载。 无法确定如何重载此运算符 它的原型应该是这样吗

void operator()=(int i,int j,int s);//how to overload?

float operator()(int i,int j);//this can be used to get that number form that index.
没有
运算符()=
。您希望
操作符()
返回对矩阵中元素的引用。然后可以指定给被引用的元素

float& operator()(int i,int j);
const float& operator()(int i, int j) const;

您可能还需要一个返回常量引用的
const
重载。

这个
const
版本可能只返回
float
@T.C。我只想保留引用以保持它的一致性,因为按值返回和常量引用之间仍然存在一些差异。看看哪里有人被它弄糊涂了。为什么不改为加载
操作符[]
<代码>运算符()保留用于函数调用。你想用C++操作符构造一种不同的语言吗?