Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uakari.primate.wisc.edu!sdd.hp.com!mips!daver!ditka!comeau From: comeau@ditka.Chicago.COM (Greg Comeau) Newsgroups: comp.lang.c++ Subject: Re: operator new Keywords: new, arm Message-ID: <39026@ditka.Chicago.COM> Date: 16 May 91 13:48:24 GMT References: <1107@rna.UUCP> Reply-To: comeau@csanta.attmail.com (Greg Comeau) Organization: Comeau Computing Lines: 28 In article <1107@rna.UUCP> kc@rna.UUCP (Kaare Christian) writes: >I haven't noticed any discussion of the following contradiction in the ARM: >In 5.3.3 there is a mention that operator new can be called with argument 0, >in which case it must return a pointer to an object. >In 12.5 it states that if operator new is called with argument 0, it must >return 0. I had brought this issue up on BIX quite a while back. 12.5 is wrong. >Also, the ARM defines a *nested* class as a class defined inside another >class, while a *local* class is a class defined inside a function. It then >defines a *local* type as a type defined inside a class. Shouldn't we >call 'em **nested** types? It should be local... as is. The first line of 9.9 says it all to me: "Type names obey exactly the same scope rules as other names." "local" is a C++ scope. - Greg -- Comeau Computing, 91-34 120th Street, Richmond Hill, NY, 11418 Producers of Comeau C++ 2.1 Here:attmail.com!csanta!comeau / BIX:comeau / CIS:72331,3421 Voice:718-945-0009 / Fax:718-441-2310