错误:'*'的操作数必须是指针

时间:2014-12-19 11:53:28

标签: c++ pointers

我似乎在我的代码中遇到了这个错误,当我将鼠标悬停在说“'数据'的位上时,它说'错误:'*'的操作数必须是指针'。任何人都可以看到问题所在。

double* Matrix::get(int i, int j) const
    {
        return *data[i*N + j];
    }

2 个答案:

答案 0 :(得分:2)

假设data是一个数组成员变量,你需要说的是:

return &data[i*N + j];

此外,由于您的函数是const,您应该返回一个const指针:

const double *Matrix::get(int i, int j) const
{
    return &data[i*N + j];
}

如果您不希望调用者修改数组中的值,请将其更改为:

double Matrix::get(int i, int j) const
{
    return data[i*N + j];
}

答案 1 :(得分:0)

如果data是double数组,那么请删除*,因为您不需要返回内存地址:

double Matrix::get(int i, int j) const
{
    return data[i*N + j];
}