Errore del compilatore C3731
evento incompatibile 'function1' e gestore 'function2'; l'origine evento e il gestore eventi devono essere dello stesso tipo
L'origine e il ricevente di un evento devono avere lo stesso tipo (ad esempio tipi native
e com
). Per correggere questo errore, impostare i tipi dell'origine evento e la corrispondenza del gestore eventi.
L'esempio seguente genera l'errore C3731:
// 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() {
}