構造体タグ名とtypedef型名は名前空間が違うから同じでも構わないよね。
C++を睨んで変えてるんじゃないの?