Philippe Houdoin <philippe.houdoin@xxxxxxxxx> wrote: > > Don't remember such an instance, but didn't Be itself change a > > char* to > > const char* in one of the BMessage methods for Dano and that didn't > > break > > binary compatibility? > Would be interresting to see how they did it then. > Maybe they just publish both constructors, but I fail to see how the > compiler could allow way too similars constructor prototypes. It's pretty easy to do, actually, at least if the method is non- virtual; you change the signature, but you still have to export the former symbol manually. In this case, you would probably make the old constructor private, and simply add the new one. > > I thought "const" in particular is purely a hint for > > the compiler regarding what is allowed and what isn't, but I have > > no clue. > IIRC, the const attribute is mangled as K prefix letter. > I'll check with gcc 4, but I can't with gcc 2.95.3 until tonigh. It's definitely part of the signature - you can have a look at the demangle tool, or just use "nm" (without the demangling option) to see how a C++ name is mangled. Bye, Axel.