>>662
うーん良く分からん
最初の代入で型を決めるという実装だと
unsigned x = 0;
void hoge(){
x = 0;
}
このときにローカル変数のxを宣言して初期化なのか、
グローバル変数のxに代入なのか区別つかん気がする。

これを解決するためには結局autoに近いものが必要だよね(javascriptのvarとか)