inizializzata!potrebbe non essere iniziata.
Comunque il fatto è che non puoi utilizzare b(assegnamento a d) se non sei sicuro di avergli assegnato un valore.
Se b non la usavi da altre parti, l'errore rimaneva un warning, cioè un avvertimento; in questo caso invece il compilatore ti dara' giustamente errore perchè non puoi utilizzare una variabile in un assegnamento o altro.