باید به این شکل این کار رو انجام بدید :
void Read (int* rx,int* ry)
{
int x,y;
x = 2,y = 3;
//
// anjam dadan ie seri mohasebat rooye x,y
//
*rx = x;
*ry = y;
}
یا به این شکل :
struct My
{
int x,y;
};
My Read (void)
{
int x,y;
x = 2,y = 3;
//
// anjam dadan ie seri mohasebat rooye x,y
//
return My {x,y};
}
راه های دیگه هم که شبیه به همین هاست .
اگه میخواهید آرایه ای رو برگردونید باید اشاره گر به اون آرایه رو برگردونید و حواستون به این هم باشه که اون آرایه نباید در Stack اون تابع ساخته شده باشه جون که با تمام شدن کار تابع ، تابع و متغییرهای محلیش از Stack برداشته میشن .
میتونید اینطوری این کار رو کنید :
int* foo (int* tedad)
{
*tedad = 50;
int* arr = new int[*tedad];
return arr;
}
اگه شما میدونید که همیشه اندازه ی آرایه یک عدد ثابت هست ، دیگه نیازی به متغییر tedad هم نخواهید داشت .