编译器错误 C3367

“static_member_function”: 不能使用静态函数创建未绑定的委托

当你调用未绑定的委托时,必须传递对象的实例。 由于通过类名称调用静态成员函数,因此仅能通过实例成员函数实例化未绑定的委托。

有关未绑定委托的详细信息,请参阅如何:定义和使用委托 (C++/CLI)

示例

以下示例生成 C3367。

// C3367.cpp
// compile with: /clr
ref struct R {
   void b() {}
   static void f() {}
};

delegate void Del(R^);

int main() {
   Del ^ a = gcnew Del(&R::b);   // OK
   Del ^ b = gcnew Del(&R::f);   // C3367
}