Muss bool üblicherweise initialisiert werde n? Problem mit MinGW 3.4.5, welche Ve rsion benutzen?
Von: Edzard Egberts (ed_08@tantec.de) [Profil]
Datum: 08.04.2008 16:51
Message-ID: <ftg0p1$l6a$00$1@news.t-online.com>
Newsgroup: de.comp.os.ms-windows.programmer
Datum: 08.04.2008 16:51
Message-ID: <ftg0p1$l6a$00$1@news.t-online.com>
Newsgroup: de.comp.os.ms-windows.programmer
Hallo, gleich vorweg - wegen "compilerspezifisch" kann ich das leider nicht in der C++-Gruppe fragen und hoffe, dass das hier jemanden interessiert: Ich bin gerade aus allen Wolken gefallen, weil sich bool nicht mehr invertieren ließ: Bool_Var= !Bool_Var; ergibt immer true. Das passiert, wenn ich die Bool_Var nicht initialisiere (z.B. Blinkflags, wo es mir eigentlich egal ist, ob das Blinken mit "An" oder "Aus" startet), also bool Bool_Var; // statt bool Bool_Var= false; Bool_Var= !Bool_Var; // ist immer true Der Debugger zeigt so für Bool_Var z.B. "115" an und beim Invertieren wechselt das zwischen "115" und "114" - ein völlig unerwartetes Verhalten. Interessanterweise funktioniert das bei einer Zuweisung richtig, z.B. int FehlerNr= 34; bool Fehler= Fehlernummer; // ergibt true, statt "34" Ich halte das für einen groben Fehler - auch ohne Initialisierung darf eine Variable doch nicht den Typ wechseln, sondern sollte die Eigenschaften des entsprechenden Datentyps behalten, also zufällig "true" oder "false" sein und nicht "115". Gibt es dazu abweichende Meinungen? Hat hier jemand Erfahrungen mit der MinGW-4-Version, ist die brauchbar, oder enthält die ebenfalls solche Fehler? MinGW 3.4.5 ist ja "current" und ich habe das bis zu diesem Fehler für die "Produktivversion" gehalten - 4,94 MB Quelltext meines aktuellen Projektes auf Initialisierung von bool-Variablen zu prüfen, steigert meine Produktivität aber nicht gerade. ;o( Gruß, Ed[ Auf dieses Posting antworten ]
Antworten
- Wolfgang Fellger (08.04.2008 17:04)
- Thomas Koller (08.04.2008 17:14)
- Stefan Reuther (08.04.2008 19:00)
- Thomas Koller (08.04.2008 17:05)
- Edzard Egberts (08.04.2008 18:32)
- Thomas Koller (08.04.2008 19:51)
- Edzard Egberts (08.04.2008 21:58)
- Markus Schaaf (08.04.2008 17:33)
- Edzard Egberts (08.04.2008 18:39)
- Ferry Bolhar (09.04.2008 18:42)
- Stefan Reuther (09.04.2008 20:53)
- Stefan Reuther (08.04.2008 19:04)
- Raymond (08.04.2008 21:38)
- Stefan Reuther (09.04.2008 20:43)
- Raymond (12.04.2008 13:52)
