struct A { A a; }; ではないからな
struct A { A *p; }; ならただのポインタ