c++ - 在 C++ 中如何返回指向数组的指针?

标签 c++ arrays pointers

这是我的简单代码 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/

相关文章:

c++ - 编译 Chrono_io 时的预处理器错误

c - 在 C 数组中的每个元素之间插入一个数字

pointers - 转到 : doubly linked list implementing panic error

c++ - C++中不必要的花括号

c++ - 错误 : expected ',' or '...' before 'Hash_Flag'

c++ - 将多维数组 vector 中单个项目的指针传递给函数c++

c - Memsetting 指向数组的指针

c++ - 带矩阵存储偏移

c++ - For 循环还是无循环? (数据集很小,不会改变)

将 char 数组复制到数组的元素