Compartir a través de


Error del compilador C3712

"method": un método de controlador de eventos debe devolver el mismo tipo que el método de origen "method"

Definió un método de controlador de eventos que no devolvió el mismo tipo que el método de evento de origen. Para corregir este error, asigne al método de controlador de eventos el mismo tipo de valor devuelto que el del método de evento de origen.

El ejemplo siguiente genera el error C3712:

// C3712.cpp
// compile with: /c
[event_source(native)]
class CEventSrc {
public:
   __event void event1();
};

[event_receiver(native)]
class CEventRec {
public:
   int handler1() { return 0; }
   // try the following line instead
   // void handler1() {}

   void HookEvents(CEventSrc* pSrc) {
      __hook(&CEventSrc::event1, pSrc, &CEventRec::handler1);   // C3712
   }
   void UnhookEvents(CEventSrc* pSrc) {
      __unhook(&CEventSrc::event1, pSrc, &CEventRec::handler1);   // C3712
   }
};