take a look at following simple code :

```
class A;
class B
{
    A a;
};

class A
{
    B b;
};

int main(int argc, char *argv[])
{
    return 1;
}

```

it does not compile, why ?

*Error Message from GCC (Qt):*
**main.cpp:6: error: field ‘a’ has incomplete type**