Conflicting default and variadic constructors
17.6.3 [temp.variadic]
Ville Voutilainen

Created on 2012-07-09.00:00:00 last changed 77 months ago


Date: 2014-02-15.00:00:00

Rationale (February, 2014):

EWG determined that no action should be taken on this issue. There is an existing workaround for the problem, and it will also be addressed by the Concepts Lite proposal.

Date: 2012-10-15.00:00:00

Rationale (October, 2012):

It can be argued that this is not a defect in the language but simply something that must be considered by the programmer: if the default constructor and the empty-pack-expansion constructor do the same thing, the default constructor is superfluous, while if they do different things there may be a logic error in one or the other. EWG should resolve the policy question of whether this situation should receive special treatment in the language to make it well-formed.

Date: 2012-07-09.00:00:00

A specialization of a variadic function template can produce the same function signature as a non-variadic one; in particular, a class can end up with multiple default constructors if a pack expansion is empty. It would be helpful if such a specialization could be suppressed so that the non-variadic function were preferred.

Date User Action Args
2014-03-03 00:00:00adminsetmessages: + msg4982
2014-03-03 00:00:00adminsetstatus: extension -> nad
2012-11-03 00:00:00adminsetmessages: + msg4194
2012-11-03 00:00:00adminsetstatus: open -> extension
2012-07-09 00:00:00admincreate