Erreur du compilateur C3754
constructeur délégué : la fonction membre 'function' ne peut pas être appelée sur une instance de type 'type'
Un appel a été effectué vers une fonction par le biais d’un pointeur vers un type qui ne contient pas la fonction.
Exemple
L’exemple suivant génère l’erreur C3754 :
// C3754a.cpp
// compile with: /clr
using namespace System;
delegate void MyDel();
interface class MyInterface {};
ref struct MyClass : MyInterface {
void f() {}
};
int main() {
MyInterface^ p = gcnew MyClass;
MyDel^ q = gcnew MyDel(p, &MyClass::f); // C3754
// try the following line instead
// MyDel^ q = gcnew MyDel(safe_cast<MyClass^>(p), &MyClass::f);
}