Turbo C++: "Case umgeht die Initialisierung einer lokalen Variable"
-
Hi Leute,
ich benutze Turbo C++ 2006. In letzter Zeit bekomm' ich ständig diese dumme Fehlermeldung:Case umgeht die Initialisierung einer lokalen Variable
Sie tritt immer innerhalb von switch()-Blocks auf. Manchmal kann man sie verhindern, indem man die Reihenfolge der case-Blöcke vertauscht.
Ich hab auch schon in der Borland-Hilfe nachgeschlagen, aber mit
Es ist in C++ nicht zulässig, die Initialisierung einer lokalen Variablen zu umgehen.
Dieser Fehler deutet auf ein case-Label hin, welches die Steuerung hinter diese lokale Variable transferiert.
kann ich ehrlich gesagt gar nichts anfangen. Hat irgendjemand 'ne Idee, was diese Fehlermeldung heißt oder, was ich falsch mache?
Vielen Dank schonmal im Voraus! :xmas1:
-
Pack einfach allles was nach Deinem "case x:" kommt in geschweifte Klammern...
Also anstatt:
switch(x) { case y: int a; a = 12; break; }
einfach:
switch(x) { case y: { int a; a = 12; } break; }
-
Cool, danke!
Aber müsste man das nach ANSI-C++ Standards auch? :xmas1: