编译器错误 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
}