다음을 통해 공유


컴파일러 오류 C3717

'method': 이벤트를 발생시키는 메서드를 정의할 수 없습니다.

구현을 포함하는 이벤트 메서드를 선언했습니다. __event 메서드 선언에는 정의가 있을 수 없습니다. 이 오류를 해결하려면 이벤트 메서드 선언에 정의가 없는지 확인합니다. 예를 들어 아래 코드에서 주석으로 표시된 대로 선언에서 event1 함수 본문을 제거합니다.

다음 샘플에서는 C3717을 생성합니다.

// C3717.cpp
[event_source(native)]
class CEventSrc {
public:
   __event void event1() {   // C3717
   }

   // remove definition for event1 and substitute following declaration
   // __event void event1();
};

[event_receiver(native)]
class CEventRec {
public:
   void handler1() {
   }

   void HookEvents(CEventSrc* pSrc) {
      __hook(CEventSrc::event1, pSrc, CEventRec::handler1);
   }

   void UnhookEvents(CEventSrc* pSrc) {
      __unhook(CEventSrc::event1, pSrc, CEventRec::handler1);
   }
};

int main() {
}