PDA

View Full Version : مشکل توابع در سی ++



mobgim
دوشنبه 25 شهریور 1392, 18:17 عصر
با سلام
من یه تابع تعریف کردم به شکل زیر

110748
همانطور که میبینید در خط نهم تابع را فراخوانی کرده ام که با این فراخوانی باید متغیر مقدار جدید یعنی ۱۱ را بگیرد و آنرا چاپ کند ولی نمیدونم چرا همان عدد ۵ را چاپ می کند

البته با دستور روبرو کارم درست میشه cout<<func(j) x ولی من میخوام اول تابع رو فراخانی کنم بعد ازش استفاده کنم
لطفا راهنماییم کنید

pooyan.a
دوشنبه 25 شهریور 1392, 18:46 عصر
سلام
اگه بخوای این کارو بکنی باید از ارجاع استفاده کنی
یا اینکه ی متغییر جدید بسازی و مقداری ک این تابع بر میگردونه رو تو این متغییر جدیده بریزی و در آخر متغییر جدید رو چاپ کنی

mobgim
دوشنبه 25 شهریور 1392, 20:51 عصر
حالت دوم که گفتین هم کارمو راه نمیندازه
ولی حالت اول رو نفهمیدم منظورتون از ارجاع چیه؟
چطور باید نوشت؟ لطفا یه مثال بزنید

mobgim
دوشنبه 25 شهریور 1392, 21:06 عصر
فهمیدم چطور باید ازش استفاده کرد ممنون از راهنماییت ( بسیار ممنون )

Ananas
دوشنبه 25 شهریور 1392, 23:58 عصر
استفاده از ارجاع:
int func(int & j);
int main()
{
int j = 5;
func(j);
cout << " j = " << j;
};

int func(int & j)
{
j += 6;
return j;
};

یا اشاره گر:
int func(int * j);
int main()
{
int j = 5;
func(&j);
cout << " j = " << j;
};

int func(int * j)
{
*j += 6;
return *j;
};