چگونه می توان یک آرایه را به عنوان مقدار برگشتی یک تابع در c++ قرار داد یعنی:
کد:
[FONT=Tahoma]return array[];[/FONT]
کمک کنید خیلی فروم کم کار شده دیگه هیچ کس جواب نمی ده
توجه داشته باشید که وظیفه ایجاد کردن و تخصیص دادن حافظه به آرایه بازگشتی با تابع شما است، اما پاک کردن
آن آرایه خارج از تابع انجام می شود. اگه نوع داده داخل آرایه مشخص است، آنرا بنویسید مثلا *int
برای آرایه هایی که نوع داده داخلش مشخص نیست از *void استفاده کنید.
حتما آرایه را در زمانی که کارتان با آن تمام شد delete کنید.
مثال زیر یک آرایه 6 خانه ای از نوع int را می سازد و بر می گرداند :
کد:
int* [B]myFunc[/B]()
{
int* array = new int[6];
return array;
}
و کد زیر خروجی این تابع را دریافت می کند و سپس آرایه را حذف می کند :
کد:
int* a = [B]myFunc[/B]();
delete[] a;
یک مثال کامل تر، یک آرایه 6 خانه ای از نوع int را با اعداد 0 الی 5 پر می کند و بر می گرداند :
کد:
int* [B]myFunc[/B]()
{
int* array = new int[6];
for (int i = 0; i < 6; i++)
array[i] = i;
return array;
}
و کد زیر این اعداد را دریافت کرده و نمایش می دهد :
کد:
int* a = [B]myFunc[/B]();
for (int i = 0; i < 6; i++)
cout << a[i] << ", ";
delete[] a;
کد کامل یک مثال :
کد:
#include <conio.h>
#include <iostream.h>
using namespace std;
int* myFunc()
{
int* array = new int[6];
for (int i = 0; i < 6; i++)
array[i] = i;
return array;
}
int main()
{
int* a = myFunc();
for (int i = 0; i < 6; i++)
cout << a[i] << ", ";
delete[] a;
getch();
return 0;
}