Udostępnij za pomocą


Błąd kompilatora C3367

"static_member_function": nie można użyć funkcji statycznej do utworzenia delegata bez ruchu przychodzącego

Uwagi

Podczas wywoływania niezwiązanego delegata należy przekazać wystąpienie obiektu. Ponieważ statyczna funkcja składowa jest wywoływana za pomocą nazwy klasy, można utworzyć wystąpienie delegata bez ruchu przychodzącego z funkcją składową wystąpienia.

Aby uzyskać więcej informacji na temat niezwiązanych delegatów, zobacz How to: Define and Use Delegates (C++/CLI) (Instrukcje: definiowanie i używanie delegatów (C++/CLI).

Przykład

Poniższy przykład generuje kod 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
}