这是我的代码,我认为每条提示行将打印指针指向的相应对象。为什么会出现错误?这会打印一些随机的数字列表,首先总是正确的。
int* f()
{
int array[10] = {1,2,3,4,5,6,7,8,9,10};
int *p = array;
return p;
}
int main()
{
int* ptr = f();
cout << *(ptr+0) << endl;
cout << *(ptr+1) << endl;
cout << *(ptr+2) << endl;
cout << endl;
}
您的指针指向带有自动存储的数组。当函数返回并且指针悬空时,数组死亡。
解决方案不是使用指针,而是使用向量或动态数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句