Why is this possible (in VS2009):
struct outer{
struct inner1{
void f(){
inner2 in2;
in2.g(); /* no previous forward declaraction*/
}
};
struct inner2{
void g(){}
}
};
... but not this (???)
struct outer{
/* This line required to remove error:
struct inner2;
*/
struct inner1{
inner1(struct inner2){} /* ERROR unless you precede struct inner1 with forward declaration struct inner2;*/
};
struct inner2{
}
};
[