2013-11-24 3 views

Antwort

9

Die erste ist legal und das zweite nicht. Es ist manchmal erlaubt, eine Deklaration ohne Initialisierer zu überspringen, aber niemals eine mit einem Initialisierer.

Siehe Storage allocation of local variables inside a block in c++.

+1

Gibt es eine bessere Möglichkeit, hdc zu initialisieren? – Cubinator73

+1

Setzen Sie den ganzen Block in Klammern, wie Hans sagte - das Problem ist der Umfang. Besser noch verschieben Sie es zu einer separaten Methode, oder es ist einfach, mit einer switch-Anweisung von mehreren hundert Zeilen zu enden. –