void foo(A& a)
{
 bzero(&a, sizeof(a));
}

なんで最初の要素しか0にならんのか
暫く気づかなかった