从函数返回数组

时间:2015-09-24 07:21:22

标签: c++ arrays function

我尝试从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;
}

但它失败了很多错误。

2 个答案:

答案 0 :(得分:0)

你需要使用指针。

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;
   }
}

检查example here

答案 1 :(得分:-2)

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

您需要了解有关C或C ++的更多信息。

Goold Luck!