PDA

View Full Version : مبتدی: ارجاع تابع



silver2000
جمعه 07 خرداد 1389, 23:28 عصر
وقتی نوع یه تابع از نوع ارجاعه مثل
int &func(int,int) در این صورت برنامه چه جوری اجرا میشه مثلا وقتی & رو برای آرگومان ها میذاریم ازmainانرا به تابع ارجتع میده اما اینجا چطوریه ؟چیزی که return میشه چیه؟

saber187518
جمعه 07 خرداد 1389, 23:53 عصر
با سلام
دوست عزیز والا تا جایی که من میدونم و حتی برای اطمینان بیشتر هم همین الان تست کردم Error میده و اطلا چنین چیزی صحیح نیست.
البته تاکید میکنم که با دانسته ها و تستی که کردم این جواب رو دادم.
بازم برای کمک بیشتر کد کاملتو بذار تا ببینم قضیه از چه قراره.
و اگر هم که کد ننوشتی و میخوای برای کار خاصی اینطوری کد بنویسی بگو شاید راهش چیز دیگه باشه.
یا علی...

mohsensaghafi
شنبه 08 خرداد 1389, 00:43 صبح
سلام دوست عزیز.
در این حالت که شما گفتی باید یه متغییر بصورت پویا تعریف کنی که با خاتمه تابع فضاش بصورت اتوماتیک آزاد نشه. بعد از این متغییر پویا آدرسش رو می گیری و بعنوان خروجی بر می گردونی.
یادتون باشه، ارجاع از متغییر محلی شرعا حرام است.(منطقا error می دهد).


int & sum(int a, int b){
int * s=new int;
*s=a+b;
return *s;
}