From -1797652380112125954
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,768d66e0db4648d6
X-Google-Attributes: gidf78e5,public
From: chopps@water.emich.edu (Christian E. Hopps)
Subject: Re: new and delete
Date: 1995/09/14
Message-ID: <199509131947.PAA18378@water.emich.edu>#1/1
X-Deja-AN: 110067008
approved: fjh@cs.mu.oz.au
references: <v02120d01ac7b940e834a@[164.76.64.3]> <9525704.3898@mulga.cs.mu.OZ.AU>
x-original-date: Wed, 13 Sep 1995 15:51:53 -0400
cc: fjh@mundil.cs.mu.OZ.AU (Fergus Henderson)
organization: -
newsgroups: comp.std.c++

In article <9525704.3898@mulga.cs.mu.OZ.AU>, fjh@mundil.cs.mu.OZ.AU
(Fergus Henderson) wrote:

> You can call such an operator delete using an ordinary function call,
> e.g.
> 
>         operator delete(p, q);

Oops, I guess everyone knows how often I use the more explicit
operator syntax now. :)

> >Well 5.3.4(*) references 3.7.3.2(**) which says that for global
> >operator delete only one type is valid (void operator delete(void*))
> >but for class members one can define two, namely:
> >
> >    void operator delete(void*, size_t);
> >    void operator delete(void*);
> 
> 3.7.3.2 is wrong, or at least misleading.  
> You are allowed to define operator delete functions with any
> number of arguments.

Yes, 3.7.3.2 was at the root of my confusion.  After posting and
then later re-reading my own post I realized this.

I think that 3.7.3.2 is misleading.  I sent some mail to steve
talking about this.  I think it can be cleaned up by eliminating
the second sentance of paragraph 2 and being more explicit when
talking about the two member functions in question (i.e. not
using language that makes them seem like the only possible choices.)
---
[ comp.std.c++ is moderated.  Submission address: std-c++@ncar.ucar.edu.
  Contact address: std-c++-request@ncar.ucar.edu.  The moderation policy
  is summarized in http://dogbert.lbl.gov/~matt/std-c++/policy.html. ]



