クラスはクラス定義の終了以後に定義されるので、
クラス定義内では、クラス名は不完全型として扱われる。
sizeofのオペランドに不完全型を渡すと鼻から悪魔。
そのため、>>341,354のようなコードは不可。

クラス定義内のメンバー関数定義における仮引数と戻り値の型は、
クラス名を使ってもいいとされている。
そうしないと、クラス定義内で自分のクラス型を使うメンバー関数を定義できないから。