Upozornění kompilátoru (úroveň 3) C4521
'class' : zadaných více konstruktorů kopírování
Třída má více konstruktorů kopírování jednoho typu. Toto upozornění je informativní; konstruktory jsou v programu volatelné.
K potlačení tohoto upozornění použijte direktivu pragma upozornění .
Příklad
Následující ukázka vygeneruje C4521.
// C4521.cpp
// compile with: /EHsc /W3
#include <iostream>
using namespace std;
class A {
public:
A() { cout << "A's default constructor" << endl; }
A( A &o ) { cout << "A&" << endl; }
A( const A &co ) { cout << "const A&" << endl; } // C4521
};
int main() {
A o1; // Calls default constructor.
A o2( o1 ); // Calls A( A& ).
const A o3; // Calls default constructor.
A o4( o3 ); // Calls A( const A& ).
}