次の方法で共有


コンパイラ エラー C3731

イベント 'function1' と ハンドラー 'function2' に互換性がありません。イベント ソースとイベント ハンドラーが同じ型でなければなりません

イベント ソースとイベント レシーバーは同じ型 (native 型や com 型など) である必要があります。 このエラーを解決するには、イベント ソースとイベント ハンドラーの型を一致させます。

次の例では 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() {
}