Compartir a través de


Error del compilador C3717

"method": no se puede definir un método que desencadena eventos

Declaró un método de evento que incluye una implementación. Una declaración de evento __event no puede tener una definición. Para corregir este error, asegúrese de que ninguna declaración de método de evento tenga definiciones. Por ejemplo, en el código siguiente, quite el cuerpo de la función de la declaración event1 como se indica en los comentarios.

El ejemplo siguiente genera el error 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() {
}