İşlevi kullanmadan / çağırmadan önce bildirmeniz gerekir. 2 Bağımsız değişken sürümünü bildirdiniz rectangle
işlev, ancak sürüm alan 1 argümanını bildirmeyi unutmuş gibi görünüyorsunuz.
Aşağıda gösterildiği gibi, 1 bağımsız değişken sürümü için bildirimi eklerseniz, programınız çalışır (derler).
#include <iostream>
using namespace std;
//declare the function before main
int rectangle(int p, int l);
int rectangle(int p);//ADDED THIS DECLARATION
int main() {
cout << rectangle(3);
return 0;
}
//define the functions after main
int rectangle(int p) {
return p*p;
}
int rectangle(int p, int l) {
return p*l;
}
Programın çıktısı burada görülebilir.
Alternatif çözüm:
Her işlevi ayrı ayrı bildirmek istemiyorsanız, bunları aşağıda gösterildiği gibi bildirmek yerine main'den önce tanımlamanız yeterlidir.
#include <iostream>
using namespace std;
//define the functions before main. This way there is no need to write a separate function declaration because all definition are declarations
int rectangle(int p) {
return p*p;
}
int rectangle(int p, int l) {
return p*l;
}
int main() {
cout << rectangle(3);
return 0;
}