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


1185. Misleading description of language linkage and member function types

Section: 9.11  [dcl.link]     Status: C++11     Submitter: Mike Miller     Date: 2010-08-29

[Voted into the WP at the March, 2011 meeting as part of paper N3262.]

The current wording of 9.11 [dcl.link] paragraph 4 is:

...A C language linkage is ignored for the names of class members and the member function type of class member functions...

This has two problems. First, it sounds as if a class member function has a “member function type,” while in fact the type of a class member function is an ordinary function type (cf 11.4 [class.mem] paragraph 11).

Second, even if that problem is fixed, it is not accurate to say that a C language linkage is “ignored” for the type of a member function. It does not affect the language linkage of the type of the member function, but it does affect the language linkage of any function declarators appearing in the parameter and return types of the function and thus the type of the function.

Proposed resolution (November, 2010) [SUPERSEDED]:

Change 9.11 [dcl.link] paragraph 4 as follows:

...A C language linkage is ignored for in determining the language linkage of the names of class members and the member function type of class member functions...