<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 1185</TITLE>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<STYLE TYPE="text/css">
  INS { text-decoration:none; font-weight:bold; background-color:#A0FFA0 }
  .INS { text-decoration:none; background-color:#D0FFD0 }
  DEL { text-decoration:line-through; background-color:#FFA0A0 }
  .DEL { text-decoration:line-through; background-color: #FFD0D0 }
  @media (prefers-color-scheme: dark) {
    HTML { background-color:#202020; color:#f0f0f0; }
    A { color:#5bc0ff; }
    A:visited { color:#c6a8ff; }
    A:hover, a:focus { color:#afd7ff; }
    INS { background-color:#033a16; color:#aff5b4; }
    .INS { background-color: #033a16; }
    DEL { background-color:#67060c; color:#ffdcd7; }
    .DEL { background-color:#67060c; }
  }
  SPAN.cmnt { font-family:Times; font-style:italic }
</STYLE>
</HEAD>
<BODY>
<P><EM>This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21
  Core Issues List revision 118b.
  See http://www.open-std.org/jtc1/sc22/wg21/ for the official
  list.</EM></P>
<P>2025-09-28</P>
<HR>
<A NAME="1185"></A><H4>1185.
  
Misleading description of language linkage and member function types
</H4>
<B>Section: </B>9.12&#160; [<A href="https://wg21.link/dcl.link">dcl.link</A>]
 &#160;&#160;&#160;

 <B>Status: </B>C++11
 &#160;&#160;&#160;

 <B>Submitter: </B>Mike Miller
 &#160;&#160;&#160;

 <B>Date: </B>2010-08-29<BR>


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

<P>The current wording of 9.12 [<A href="https://wg21.link/dcl.link#4">dcl.link</A>] paragraph 4 is:</P>

<BLOCKQUOTE>

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

</BLOCKQUOTE>

<P>This has two problems.  First, it sounds as if a class member
function has a &#8220;member function type,&#8221; while in fact
the type of a class member function is an ordinary function type
(cf 11.4 [<A href="https://wg21.link/class.mem#11">class.mem</A>] paragraph 11).</P>

<P>Second, even if that problem is fixed, it is not accurate to
say that a C language linkage is &#8220;ignored&#8221; 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.</P>

<P><B>Proposed resolution (November, 2010) [SUPERSEDED]:</B></P>

<P>Change 9.12 [<A href="https://wg21.link/dcl.link#4">dcl.link</A>] paragraph 4 as follows:</P>

<BLOCKQUOTE>

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

</BLOCKQUOTE>

<BR><BR>
</BODY>
</HTML>
