JSF.MBR.SIG.MATCHES.COPY_CSTR
The definition of a member function shall not contain default arguments that produce a signature identical to that of the implicitly-declared copy constructor for the corresponding class/structure.
Rationale
Compilers are not required to diagnose this ambiguity.
Example 1
Copy
struct X {
X(const X&, int);
X::X(const X& x, int i =0) { /* ... */ }
};
If the class definition does not explicitly declare a copy constructor, one is declared implicitly. Thus, for the detailed class definition a copy constructor is implicitly-declared. If the user-declared constructor is later defined, as detailed on line #3, then any use of X’s copy constructor is ill-formed because of the ambiguity.