Erkennt keinen Rückgabewert
-
Bei dem Programm erkennt er nicht den Rückgabewert bei der Funkt. int Area().
-> yardlength, yardwidth[/cpp]
#include <iostream.h>int area(int length, int width);
int main(){
int lengthofyard;
int widthofyard;
int areaofyard;cout << "\nWie breit?";
cin >> widthofyard;
cout << "\nWie lang?";
cin >> lengthofyard;areaofyard=area(lengthofyard,widthofyard);
cout << "\nDie Flaeche ihres Gartens betraegt: ";
cout << areaofyard;
cout << " Quadratmeter";
cout << endl << endl;system("pause");
return 0;
}int area(int l, int w){
return yardlength*yardwidth; // funktioniert nicht !!!! / möglich nur return l*w
}
[cpp]
-
In der Funktion gibt es auch nur die lokalen Variablen l und w. Der Compiler hat Recht.
(Und falls Dir diese Antwort kein bisschen hilft, sag bitte was Du von dem Codeabschnitt erwartest, dann kann man Dir erklären, warum es nicht funktioniert und/oder wie Du Dein Ziel trotzdem erreichst)
-
-
hi,
so wie ich das sehe kennt die funktion area die variablen nicht(yardlength; yardwidth)
hier mein vorschlag:int area(int l, int w)
{ return int a=l*w;}und in main hast du dann den wert auf dieser var!!!
das is also so mein erster eindruck darauf!!!!
vielleicht is es aber auch ein anderes prob????!!!!!grüße
-
@wulvpak: Und was willst du da mit a?
int main() {Öffnet dir den Lokalen Scope (in dem Fall den Scope der Funktion main).
Variablen sind nur in diesem gültig!int main() { int foo(0); { int bar(1); std::cout << foo << bar << std::endl; } // (1) std::cout << foo << bar << std::endl; }Du wirst eine Fehlermeldung bekommen, weil bar nach (1) nichtmehr gültig ist und das Objekt bereits zerstört wurde!
inline int area(const int length, const int width) { return (length * width); }