Re: string class problem
On Jun 28, 7:44 pm, "BobR" <removeBadB...@worldnet.att.net> wrote:
James Kanze wrote in message...
/* """
(<cstdlib> is another story; none of the
compilers I have access to include the required overloads of
atexit, for example.)
""" */
I'm a little in-the-fog here [1].
// -------
In <cstdlib> (GCC(MinGW)3.3.1), after the #undefs:
namespace std {
// .....
using ::atexit;
// ..... }
Which, of course, isn't a legal implementation according to the
current standard (although the next release will make it one).
In <stdlib.h>:
/* Note: This is in startup code, not imported directly from dll */
int __cdecl atexit (void (*)(void));
// -------
What 'required overloads' are you refering to?
extern "C" int atexit(void (*f )(void))
extern "C++" int atexit(void (*f )(void))
Note that the standard requires this for every function in the C
library which takes a callback.
And of course, the real problem here is that the compiler isn't
conform; a header which did the above with g++ probably wouldn't
compile. (But then, g++ is just behaving like most other
implementors in this respect: implement whatever you feel like,
rather than what the standard requires.)
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34