Bekomme die Fehlermeldung: too few arguments to funktion... und error at this point in file
-
#include <iostream> using namespace std; string verknuepfung(bool A, bool B) { bool ergebnis=!(A&&B); if(ergebnis==true) {return "true";} else {return "false";} } int main() { bool A=true; bool B=false; verknuepfung(A, B); cout<<verknuepfung(); return 0; }/edit pumuckl: tags korrigiert
-
werkla4 schrieb:
verknuepfung(A, B);Hier rufst Du verknuepfung() mit 2 Parametern auf, wirfst das Ergebnis der Funktion weg.
cout<<verknuepfung();Und hier nur mit 0 Parameter - das kann nicht funktionieren, die Funktion erwartet 2.
-
#include <iostream> bool verknuepfung( bool a, bool b ) { return !( a && b ); } int main() { std::cout << std::boolalpha << verknuepfung( true, false ) << std::endl; }
-
Ich dachte von der Funktion kommen die Werte(Text) zurück, deswegen habe ich keine Werte in der Ausgabe mehr eingegeben.
Wie einfach doch die Lösung sein kann.
Ihr habt mir sehr geholfen.
DANKE
-
werkla4 schrieb:
Ich dachte von der Funktion kommen die Werte(Text) zurück, deswegen habe ich keine Werte in der Ausgabe mehr eingegeben
Du verwechselst da Variablen mit Funktionen. Funktionen können keine Werte "Speichern", sondern du übergibst ihnen (wenn überhaupt) Parameter, mit diesen Parametern rechnet die Funktion dann und gibt ggf. einen Wert zurück. Diesen Wert musst du allerdings direkt abfangen, weil wenn du die Funktion ein zweites mal aufrufst, versucht der Compiler natürlich, die Funktion nochmal aufzurufen.
Später wirst du zwar noch eine andere Möglichkeit der "Rückgabe" kennenlernen, aber das macht zu diesem Zeitpunkt noch keinen Sinn. Ließt du nebenbei ein Buch? Ich kann dir das nahe legen, es ist die beste Möglichkeit C++ zu lernen.