From -2345246569714678553
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,ec3337d9f2b7ae74
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1993-12-02 21:06:21 PST
Newsgroups: comp.std.c++
Path: gmd.de!xlink.net!howland.reston.ans.net!pipex!uunet!psinntp!ses.com!castro!jamshid
From: jamshid@castro.uucp (Jamshid Afshar)
Subject: Is a member function a function? (was Re: Q: va_end in C++?)
Message-ID: <CHFBxp.5M4@ses.com>
Summary: most definitely yes
Sender: usenet@ses.com
Nntp-Posting-Host: castro
Organization: SES, Inc., Austin, TX, USA
References: <KANZE.93Nov18152830@slsvhdt.us-es.sel.de> <rfgCGsB6F.DM2@netcom.com> <CGvLEo.wD@ses.com> <rfgCH85x3.Hs@netcom.com>
Date: Thu, 2 Dec 1993 20:08:13 GMT
Lines: 37

In article <rfgCH85x3.Hs@netcom.com>,
Ronald F. Guilmette <rfg@netcom.com> wrote:
>>The term "function" includes member functions.
>
>Jamshid, I do not share your view in this case.
>
>In general, it appears to me that both the ARM and current X3J16 working
>paper are very explicit in specifying whether any given rule applies to
>either "functions" or "member functions".  I do not think that the latter
>is considered a subset of the former.  Rather, the ARM and the X3J16 WP
>seem (in general) to treat these as two entirely disjoint sets.

Can you provide examples where the ARM/WP treat functions and member
functions as disjoint sets?  I see a lot of wording like 7.1.2's
"[inline and virtual] can be used only in function declarations" and
"for a nonmember function an inline specifier also gives ...".  If
"member functions" were not "functions", the use of "nonmember" would
be redundant.  Also in 7.1.2: "A function defined within the
declaration of a class is inline by default."  3.2 speaks only of
"function" scope, not "function and member function scope".

I don't see how you can interpret this as my "view".  I don't know
what else to say other than to repeat the quotes from my previous
article:

>>The term "function" includes member functions.  9.3: "A function
>>declared as a member ... is called a member function."  Furthermore,
>>constructors and destructors are just special kinds of member
>>functions.
>>ARM 8.2.5 Functions: "The standard header <stdarg.h> contains a
>>mechanism for accessing arguments passed using the ellipsis."  8.2.5's
>>discussion of functions includes member functions.  For example, "A
>>cv-qualifier-list can be part of a declaration or definition of a
>>nonstatic member function...".

Jamshid Afshar
jamshid@ses.com


