我似乎在我的代码中遇到了这个错误,当我将鼠标悬停在说“'数据'的位上时,它说'错误:'*'的操作数必须是指针'。任何人都可以看到问题所在。
double* Matrix::get(int i, int j) const
{
return *data[i*N + j];
}
答案 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];
}