从函数返回数组

Return array from a function

本文关键字:数组 返回 函数      更新时间:2023-10-16

我尝试从c++函数返回一个数组。我编写了一个非常简单的函数来演示。

#include<iostream>
using namespace std;
int OneDimensional();
void main()
{
    int arr[3];
    arr = OneDimensional();
    cout<<"arr = " << arr[0] <<endl;
    cin.get(); cin.get();
}
int OneDimensional()
{
    int arr[3];
    cout << "Enter a number" <<endl;
    cin  >> arr[0];
    cout << "Enter a number" <<endl;
    cin  >> arr[1];
    cout << "Enter a number" <<endl;
    cin  >> arr[2]; 
    return arr;
}

但是它失败了,有很多错误

你需要使用指针。

int * OneDimensional()
{
    static int arr[3];
    cout << "Enter a number" <<endl;
    cin  >> arr[0];
    cout << "Enter a number" <<endl;
    cin  >> arr[1];
    cout << "Enter a number" <<endl;
    cin  >> arr[2]; 
    return arr;
}
void main()
{
    int *arr;
    arr = OneDimensional();
    for (int i = 0; i < length; i++ )// length is number of elements in array
   {
       cout<<"arr = "<< *(arr + i) << endl;
   }
}

查看此处的示例

  • int OneDimensional()只返回一个int值,而不是一个数组。
  • main()没有return

你需要多读一些关于C或c++的知识。

古尔德好运!