Title
What is a member function template?
Status
tc1
Section
17.6.1.1 [temp.mem.func]
Submitter
David Thornley

Created on 2000-10-11.00:00:00 last changed 208 months ago

Messages

Date: 2000-10-15.00:00:00

Proposed resolution (10/00): As suggested.

Date: 2003-04-25.00:00:00

The phrase "member function template" is used in 6.2 [basic.def.odr] paragraph 5 in the list of entities whose definitions can appear more than once in a program, with a cross-reference to 17.6.1.1 [temp.mem.func]. The title of that section is "Member functions of class templates," and paragraph 1 of that section says,

A member function template may be defined outside of the class template in which it is declared.

The example in that paragraph shows a non-template member function of a class template being defined. This gives the impression that the phrase "member function template" is intended to refer to a member function of a class template.

If this usage were intended, much of the rest of the Standard would be unintelligible: objects of class template specializations could not be copied (15.8 [class.copy] paragraph 3), member functions of class templates could not be declared virtual (17.6.2 [temp.mem] paragraph 3), etc.

Suggested resolution:

Change "member function template" to "member function of a class template" in both 6.2 [basic.def.odr] paragraph 5 and 17.6.1.1 [temp.mem.func] paragraph 1.

(See also issue 205.)

History
Date User Action Args
2003-04-25 00:00:00adminsetstatus: dr -> tc1
2000-11-18 00:00:00adminsetmessages: + msg452
2000-10-11 00:00:00admincreate