struct _Hoge { int a; };
struct _Hoge { int a; }; // NG

この場合でもコンパイル単位が別ファイルだと(ほぼ)問題無い訳で
一致していなければ一致していないなりの結果が産まれる