اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

تفاوت بین دو نوع اعلان تابع

+1 امتیاز
283 نمایش

تفاوت بین این دوشکل اعلان برای تابعی که پارامتر نمیگیره چیه؟

int f(void);
int f();
پرسیده شده دوشنبه ۱۶ اردیبهشت ۱۳۹۲ در زبان‌های برنامه‌نویسی توسط CPP_Crawler5  
شناسایی شد دوشنبه ۱۶ اردیبهشت ۱۳۹۲ توسط CPP_Crawler5

1 پاسخ

0 امتیاز

در C و C++، اعلان f(void) معنای متفاوتی داره.

در C++ اعلان f() دقیقاً به معنی f(void) هست. یعنی این تابع هیچ پارامتری نمی‌گیره.

در C، اعلان f(void) به این معنی هست که این تابع هیچ پارامتری نمی‌گیره اما f() به این معنی هست که این تابع می‌تونه هر تعداد پارامتر بدون نوع مشخص بگیره.

مثلاً در C کد زیر اخطار نداره اما در ‍C++ اخطار داره

void f(){ ... }
int main()
{
  f(3, "hello");
  return 0;
}
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده یکشنبه ۱۲ خرداد ۱۳۹۲ توسط prodo