Erreur du compilateur C3351
'object' : constructeur délégué : le second argument doit être l’adresse d’une fonction globale ou d’une fonction membre statique
Le compilateur attend l’adresse d’une fonction déclarée static
.
L’exemple suivant génère l’erreur C3351 :
// C3351a.cpp
// compile with: /clr
delegate int D(int, int);
ref class C {
public:
int mf(int, int) {
return 1;
}
static int mf2(int, int) {
return 1;
}
};
int main() {
System::Delegate ^pD = gcnew D(nullptr, &C::mf); // C3351
System::Delegate ^pD2 = gcnew D(&C::mf2);
}