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);
}