我在通过引用传递指针时遇到问题。
这是方法
void set_range(double **measu)
{
if ((*measu)[0] < 0) //or i is used for a loop
return ;
}
int main()
{
double *mes;
set_range(&mes[1]);
}
我已经分配了内存,并且设置了所需的值。但是此程序给我“未处理的异常访问冲突读取位置”错误。
所以我的问题是,如何将mes [1]而不是mes [0](通常在给定(&mes)时传递)的指针传递给set_range方法?
最佳答案
将函数更改为采用double*
而不是double**
,例如:
void set_range(double *measu)
{
if (*measu < 0) //or i is used for a loop
return;
}
int main()
{
double *mes;
...
set_range(&mes[1]);
}
另外,也可以使用真实引用:
void set_range(double &measu)
{
if (measu < 0) //or i is used for a loop
return;
}
int main()
{
double *mes;
...
set_range(mes[1]);
}