> Hi again,
>
[quoted text clipped - 31 lines]
>
> Any clue?
Your code, as is, compiles fine (adding a missing : in B), and gives no
warning.
The error only pops up if, when forward declaring A, you ommit the "public"
specifier, so that it defaults to private and then conflicts with the use of
it and how it is later defined.

Signature
Tomas Restrepo
tomasr@mvps.org
Libertadrian - 22 Sep 2004 03:25 GMT
Thanks Thomas (x2)!!!
Yep, I reviewed my code (not the same I pasted here), and I found I was doing:
public __gc class B // B class, that uses A in constructor
{
public: B(class A* a) : mA(a) {}
private: A* mA;
};
// the 'class A*' in B::ctor (old style fwd-decl) was causing trouble.
But even removing that, I got
"assembly access specifier modified from 'private'"
You don't get any warnings? How come?
"Tomas Restrepo (MVP)" wrote:
> > Hi again,
> >
[quoted text clipped - 37 lines]
> specifier, so that it defaults to private and then conflicts with the use of
> it and how it is later defined.
Libertadrian - 22 Sep 2004 03:33 GMT
Forget the previous post, I found I was also doing
private: class *A mA;
in class B.
Thanks
> Thanks Thomas (x2)!!!
>
[quoted text clipped - 57 lines]
> > specifier, so that it defaults to private and then conflicts with the use of
> > it and how it is later defined.