【发布时间】:2015-02-17 16:03:18
【问题描述】:
我对 C++ 比较陌生,因此是这个问题。我正在尝试重载 () 运算符以进行数组中的读写操作。这是一个将二维数组映射到一维数组的行优先数组。
这是我为读取操作编写的重载
//overloading read operator
const double& operator()const(int n, int m){
return arr_[n*column+m];
}
现在我需要编写一个写重载,在读重载返回的位置插入一个双精度值。
//overloading write operator
double& operator()(double d){
}
我该怎么做。任何帮助表示赞赏。
【问题讨论】:
-
"...在那个位置插入一个双精度值" 什么位置?您的写操作符只定义一个双精度值,而不是一个位置。
-
@zenith 在读重载返回的位置
-
完全一样,但是去掉
consts,你可以说data(x,y) = 0;。 -
@molbdnilo 但在写入重载中未定义行和列。我没有得到正确的签名。
-
顺便说一句,您在现有代码中将
const放置在错误的位置,成员修饰符 (cv-qualifier-seq) 位于参数列表之后。
标签: c++ arrays operator-overloading