这是我的简单代码 arrayfunc() 应该将一些数字存储在一个数组中,并返回这个数组的指针 到打印数组内容的主函数 我的代码有什么问题? 它只返回指向数组第一个元素的指针 任何帮助将不胜感激。 提前致谢。
#include <iostream>
using namespace std;
//The definition of the function should remain the same
int* arrayfunc()
{
int *array[10];
array[0] =new int;
array[1] =new int;
array[2] =new int;
array[3] =new int;
*array[0]=10;
*array[1]=11;
*array[2]=12;
*array[3]=13;
return *array;
}
int main()
{
for(int i=0;i<4;i++)
cout<<*(arrayfunc()+i)<<endl;
return 0;
}
最佳答案
(1) 如果你想返回它,你应该用 new
分配你的数组:int* array = new int[10];
[假设这里你想要数组int
而不是 int*
的数组]
(2) 返回指向数组第一个元素的指针,使用return array
而不是return *array
(3) 你的数组是指针数组,而不是整数数组。
关于c++ - 在 C++ 中如何返回指向数组的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629697/