不存在的函数头

时间:2015-01-12 13:09:55

标签: c++ pointers pass-by-reference

当我将指向内置字符数组的指针传递给函数时,程序控件不会进入函数,该函数的原型是“void f(int,char *)”。
在函数中,我试图使用指针算法递增指针指向数组内部的位置,以及该地址处的值。
控制忽略该功能的可能原因是什么?我的程序中没有编译或逻辑错误。

1 个答案:

答案 0 :(得分:2)

我怀疑该功能是正常输入的,但它看起来好像不是因为你没有看到指针按预期改变。您没有看到指针更改的原因是您没有通过引用传递指针。将功能签名更改为

void f(int num, char *&ptr)

然后对函数内部指针的更改将在外部可见 - 否则它们将应用于仅在函数调用期间存在的指针副本。