Default template-arguments underspecified
13.4 [temp.arg]
Andrew Sutton

Created on 2014-09-23.00:00:00 last changed 49 months ago


Date: 2014-11-15.00:00:00

Notes from the November, 2014 meeting:

The preceding was extracted from the wording of the Concepts Lite draft Technical Specification.

Date: 2017-02-06.00:00:00

Proposed resolution, October, 2015:

Add the following as a new paragraph after 13.4 [temp.arg] paragraph 7:

When the template in a template-id is an overloaded function template...

When a simple-template-id does not name a function, a default template-argument is implicitly instantiated (13.9.2 [temp.inst]) when the value of that default argument is needed. [Example:

  template<typename T, typename U = int> struct S { };
  S<bool>* p; // the type of p is S<bool, int>*

The default argument for U is instantiated to form the type S<bool, int>*. —end example]

Date: 2016-02-15.00:00:00

[Adopted at the February, 2016 meeting.]

Date User Action Args
2017-02-06 00:00:00adminsetmessages: + msg6106
2017-02-06 00:00:00adminsetstatus: ready -> cd4
2015-11-10 00:00:00adminsetstatus: review -> ready
2014-11-24 00:00:00adminsetmessages: + msg5176
2014-09-23 00:00:00admincreate