Ai să declare funcția înainte de a utiliza/suna-l. Ai făcut-o să declare 2 argument versiune de rectangle
funcție, dar se pare că ai uitat să declare 1 argument luând versiune.
Așa cum se arată mai jos, dacă adăugați declarația pentru 1 argument versiunea apoi programul de lucrări(compilează).
#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;
}
Ieșirea din program poate fi văzut aici.
Soluție alternativă:
Dacă nu doriți să declare fiecare funcție separat, atunci ar trebui doar să le definim înainte de principalul loc de declarându-le așa cum se arată mai jos.
#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;
}