다음을 통해 공유


컴파일러 오류 C3731

호환되지 않는 이벤트 'function1' 및 처리기 'function2'; 이벤트 원본 및 이벤트 처리기는 동일한 형식이어야 합니다.

이벤트 소스와 이벤트 수신자는 형식이 동일해야 합니다(예:nativecom 형식). 이 오류를 해결하려면 이벤트 원본의 형식과 이벤트 처리기를 일치하도록 합니다.

다음 샘플에서는 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() {
}