Поделиться через


Ошибка компилятора C3754

Конструктор делегата: функция-член не может вызываться в экземпляре типа "type"

Вызов был выполнен в функцию с помощью указателя на тип, который не содержит функцию.

Пример

Следующий пример приводит к возникновению ошибки 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);
}