컴파일러 오류 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() {
}