Veröffentlicht 2. Juli 200322 j hi leute hab ein problem, hört sich zwar etwas lächerlich an, aber ich weiß nicht woran es liegt! wenn ich in meinem programm beispielsweise schreibe: (vereinfachtes Bsp.) if(i = 10) cout << "i = 10"; wenn ich aber schreibe bool wahr; if(i = 10) wahr = true; und später im Quellcode schreibe if(wahr == true) cout << "i=10"; warum geht das nicht?? es muss irgendwas mit dem boolschen wert zu tun haben! kann ich einem bool nicht so einfach true zuweisen oder nicht mit == vergleichen??? ich hoffe ihr könnt mir weiterhelfen danke im voraus mfg didii
2. Juli 200322 j Servus! du muss scho schreiben: if(i == 10) .... und nicht mit einem "="! so würdest du ja i 10 zuweisen und das if erwartet einen boolschen Ausdruck! Gruß Azrael
2. Juli 200322 j Hmm, vielleicht nochmal deutlicher. Der Ausdruck i(i = 10) gibt in C++ immer true zurück, da das einfache '=' eine Zuweisung ist. Der Vergleichsoperator heisst '=='. Dann klappts auch mit dem Nachbarn. Peter
2. Juli 200322 j hi sorry, hab mich beim beispiel vertan, aber im quellcode hab ich == zum vergleich hergenommen! kann man mit if(wert == true) einen boolschen wert prüfen???
2. Juli 200322 j Original geschrieben von Didii kann man mit if(wert == true) einen boolschen wert prüfen??? if( wert ) tut's auch schon.
3. Juli 200322 j Um solchen Fehlern ( if (i = 10) ) vorzubeugen kann man den Vergleichswert, bei dem es sich um keine Fariable handelt auch auf die linke Seite schreiben. Wenn man jetzt ausversehen nur ein = schreibt, bekommt man einen Compilerfehler, weil man ja z.b. der 10 nicht den Wert aus i zuweisen kann. Bsp.: if (10 = i) // ergibt Compilerfehler if (10 == i) //dasselbe wie if (i == 10) [/PHP] Gruß Guybrush
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.