PDA

View Full Version : خطا در ساخت تابع



<برنامه نویس>
جمعه 30 مهر 1389, 18:14 عصر
سلام دوستان

من مي هوام يكسري تابع تغريف كنم اما خطا ميگيره

مثلا اين كد را نگاه كنيد


#include <stdio.h>
int main()
{
int f;
f=fact(5);
}
int fact(int n)
{
n=n*2 ;
return 0;
}


حالا اين كد را خطا ميگيره ميشه بگيد بايد جي كار كنم


f=fact(5);

Salar Ashgi
جمعه 30 مهر 1389, 18:35 عصر
خوب ببینید اولا تعریف تابع شما اشکال دارد و ثانیا تابع شما هیچ کاری خاصی انجام نمی دهد ، جز برگرداندن
عدد صفر !
تعریف تابع شما باید به یکی از این دو شکل باشد :

1-

#include <iostream>
#include <conio>
int fact(int n)
{
n=n*2 ;
return 0;
}
//=============
int main()
{
int f;
f=fact(5);
cout<<f;
getch();
}


2-


#include <iostream>
#include <conio>
int fact(int);
int main()
{
int f;
f=fact(5);
cout<<f;
getch();
}
//==========
int fact(int n)
{
n=n*2 ;
return 0;
}

Mahmood_M
جمعه 30 مهر 1389, 19:36 عصر
حالا اين كد را خطا ميگيره ميشه بگيد بايد جي كار كنم
سعی کنید ، هنگام پرسیدن این گونه سئوالها ، متن خطا رو هم ذکر کنید ، اگر دوستان بدونند که چه خطایی میده ، علتش رو هم میتونن پیدا کنن ...
.............
وقتی می خواید از یک تابع که خودتون نوشتید در بدنه Main استفاده کنید ، یا باید تابع رو در بالای Main بنویسید یا اینکه در بالای Main نام و نوع اون رو مشخص کنید تا به نوعی به کامپایلر معرفی بشه ، همون کاری که دوستمون جناب Ashgi انجام دادن ، پس دلیل اینکه کدتون خطا میداد ! این بود که تابع برای کامپایلر قبل از Main تعریف نشده بود و وقتی کامپایلر به خط " ;(f=fact(5 " در Main میرسید نمی تونست تشخیص بده که اون تابع fact چی هست !

موفق باشید ...