我有一个二维版本的 valarray,称为矩阵。我想访问它的一列并将其用作类外的左值。IDE 在返回行上给我以下错误。我猜 valarray 的 [] 运算符返回一个中间数组,应该立即使用吗?如何解决这个问题?谢谢
对“slice_array<[...]>”类型的非 const 左值引用不能绑定到“slice_array<[...]>”类型的临时值
class matrix
{
public:
matrix(int rows, int columns): _rows(rows), _columns(columns),storage(rows*columns) {}
// Access a column
slice_array<double> &operator()(int c){
return storage[slice(c,_row,_columns)];
}
private:
int _rows;
int _columns;
valarray<double> storage;