This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-11-11
The phrase "member function template" is used in 6.3 [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 13.7.2.2 [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 (11.4.5.3 [class.copy.ctor] paragraph 3), member functions of class templates could not be declared virtual (13.7.3 [temp.mem] paragraph 3), etc.
Suggested resolution:
Change "member function template" to "member function of a class template" in both 6.3 [basic.def.odr] paragraph 5 and 13.7.2.2 [temp.mem.func] paragraph 1.
(See also issue 205.)
Proposed resolution (10/00): As suggested.