> In C and C++ it's legal, and there are actual cases in which you do > want to reference the variable (as an lvalue) before its declaration > is complete. Isn't that a bit dubious from a formal point of view. Yes, I understand it will typically work, but I am not sure I can deduce that it must work.