Avertissement du compilateur (niveau 3) C4522
'class' : plusieurs opérateurs d’affectation spécifiés
La classe a plusieurs opérateurs d’affectation d’un type unique. Cet avertissement est informationnel ; les constructeurs sont appelants dans votre programme.
Utilisez le pragma d’avertissement pour supprimer cet avertissement.
Exemple
L’exemple suivant génère l’erreur C4522.
// C4522.cpp
// compile with: /EHsc /W3
#include <iostream>
using namespace std;
class A {
public:
A& operator=( A & o ) { cout << "A&" << endl; return *this; }
A& operator=( const A &co ) { cout << "const A&" << endl; return *this; } // C4522
};
int main() {
A o1, o2;
o2 = o1;
const A o3;
o1 = o3;
}