PDA

View Full Version : چگونه از تابعی که VOID است خارج شوم؟



روح اله معینی زاده
سه شنبه 28 آذر 1385, 09:49 صبح
با سلام خدمت دوستان گرامی

یه تابع دارم که به صورت void تعریف شده است. در ابتدای این تابع یک شرط دارم که اگر شرط غلط باشد باید از این تابع خارج شوم. این کار را چگونه باید انجام دهم؟

همان‌طور هم که خودتان می دانید، نمی توانم از دستور return استفاده کنم (تابع من void است).

اگه از exit استفاده کنم، از کل برنامه خارج می شه :ناراحت: که من نمی خوام این اتفاق رخ بده.

منتظرم :متفکر: .

با احترام- خدانگهدار

shahab_sh
سه شنبه 28 آذر 1385, 14:05 عصر
توی کد پایین func1 رو نگاه کن. تو بعضی کامپایلرها اگه اینجوری بنویسی ممکنه error بده. اگه error داد مثل func2 بنویس. اگر هم error نداد که خوب نداد دیگه:لبخند:
من همیشه این کار رو میکنم ولی شاید راه بهتری هم وجود داشته باشه!

void func1(){
if (x)
goto end;
else
...
...
...
...
...
end:
}

void func2(){
if (x)
goto end;
else
...
...
...
...
...
end:
;
}

anubis_ir
سه شنبه 28 آذر 1385, 14:09 عصر
دقیقا از کد زیر می‌تونی استفاده کنی (در تابع void) و مجاز است:

return;

alireza643
سه شنبه 28 آذر 1385, 18:16 عصر
همونطور که شما هم میدونید return یعنی بازگشت اگر بهد از دستور return مقداری قرار بدهید اون مقدار برگردونده میشه اگر هم هیچ مقداری بعد از اون قرارندهید همون چیزی که بعد از return قرار داره برگردونده میشه یعنی هیچی برگردونده میشه خوب void هم همون هیچیه دیگه

روح اله معینی زاده
چهارشنبه 29 آذر 1385, 08:57 صبح
سلام و تشکر

ما تازه کارها رو ببخشید. خیلی جالب بود. از همه که وقت گذاشتند متشکرم (به ویژه anubis_ir و alireza643)

با احترام- خدانگهدار

alireza643
پنج شنبه 30 آذر 1385, 10:40 صبح
خواهش می کنم آقا ما هم تازه کار هستیم.