PDA

نسخه کامل مشاهده نسخه کامل : 0 یا 1 ی ا-1 یا سایر اعداد؟



iranch
01-09-2013, 13:36
دروود وقتی متدی مقدار 0 برمیگرداند یعنی متد به صورت نرمال کارش را انجام داده اگر 1 برگردانند چی؟ اگر -1 چطور؟ اصلا 1000 برگرداند چی؟تست کردم کامپایلر هیچ اروری نمیگیره برای این مقادیر که در return بزاریم :n27:

Msba
01-09-2013, 15:55
احتمالا منظور شما تابع main می باشد، چون که توابع دیگر کاملا اختیاری است.
در واقع بازگشت مقادیر در توابع به نیت استعلام وضعیت انجام آن است و سوال کلیدی آن: "آیا عمل خطا داشته است؟" می باشد.
0: خیر
1: بلی
-1 یا 255: عموما خطا مهم نیست، قابل صرفه نظر کردن است.
این امر کاملا سلیقه ای است و متاسفانه استانداردی ندارد.چرا؟ چون فرض کنید یک تابع دارای 5 نوع خطا است. آیا این 5 نوع را می توان در 2 یا 3 حالت تشخیص داد؟ در واقع راهنمای استفاده از آن تابع و یا define ها و یا ثابت های برنامه تعیین کننده است.
در تابع main نیز وضعیت همین گونه است. فقط این نتیجه به سیستم عامل گزارش می شود.
به این عدد Error Level می گویند. عموما باید یک متغیر یک بایتی باشد. البته می بایست در سیستم های جدید رنج این عدد گسترش پیدا کرده باشد. عموما سیستم عامل هم این مقدار را نادیده می گیرد. مگر اینکه کاربر قصد دیباگ کردن داشته باشد. یعنی از طریق یک batch فایل (bat Files) مقدار خروجی تابع main را در شرط بررسی کند و نسبت به آن واکنش نشان دهد.( این کار منسوخ شده است!:n01:)

موفق باشید.

موفق باشید.