こういうケースの話だとは思うけど
struct A;
class A
{
int a;
};

コンパイラがどう解釈するかは決まってるのかなこれ