gccでやったら問題なく通りました。
C++とCの違いの問題なんでしょうか?