Default arguments

Allows a function to be called without providing one or more trailing arguments.

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
CWG 217C++98a default argument could be added to a non-template member function of a class templateprohibited
CWG 1344C++98default arguments added in the out-of-class definition of amember function could change it to a special member functionprohibited
CWG 1716C++98default arguments were evaluated each time the functionis called, even if the caller provided the argumentsevaluated only if noargument is provided for thecorresponding parameter
CWG 2082C++98default arguments were forbidden to use local variablesand preceding parameters in unevaluated contextunevaluated contextuse allowed
CWG 2233C++11parameters expanded from parameter packs couldnot appear after parameters with default argumentsallowed
CWG 2683C++98out-of-class definitions of the member functions of classtemplates’ nested classes could have default argumentsprohibited