Teilen über


Compilerfehler C3731

inkompatibles Ereignis 'function1' und Handler 'function2'; Ereignisquelle und Ereignishandler müssen denselben Typ aufweisen

Bemerkungen

Die Ereignisquelle und der Ereignisempfänger müssen denselben Typ aufweisen (z native . B. vs. com Typen). Um diesen Fehler zu beheben, stimmen Sie die Typen der Ereignisquelle und des Ereignishandlers überein.

Example

Im folgenden Beispiel wird C3731 generiert:

// C3731.cpp
// compile with: /clr
#using <mscorlib.dll>
[event_source(native)]
struct A {
   __event void MyEvent();
};

[event_receiver(managed)]
// try the following line instead
// [event_receiver(native)]
struct B {
   void func();
   B(A a) {
      __hook(&A::MyEvent, &a, &B::func);   // C3731
   }
};

int main() {
}