1

我有一个二维版本的 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;
4

0 回答 0