> What I do not understand is why the compiler does _not_ find
> ambiguity when the C++ class header is slimmed down to just the
> necessary parts: the operator overload and a constructor.

Because you've removed the ambiguity in simple.h. If you add the line

   operator const char*()const;

back into class FGString (since the original header has this
declaration), you will get the error also for simple.h.

> Either it's ambiguous, or it isn't, but it shouldn't be both on
> the same architecture (hppa), with the same compiler (g++ 3.0.2),
> and essentially the same code.

The code is not essentially the same; you've deleted the part that
causes the ambiguity.

Regards,
Martin


Reply via email to