次の方法で共有


コンパイラ エラー C3754

デリゲート コンストラクター: メンバー関数 'function' を、型 '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);
}