Error del compilador C3713

Actualización: noviembre 2007

Mensaje de error

'método': un método controlador de eventos debe tener los mismos parámetros de función que el origen 'método'
'method': an event handler method must have the same function parameters as the source 'method'

Se definió un método controlador de eventos que no devuelve los mismos parámetros que el método del evento de origen. Para resolver este error, dé al método controlador de eventos los mismos parámetros que los del método del evento de origen.

El ejemplo siguiente genera el error C3713:

// C3713.cpp
// compile with: /c
[event_source(native)]
class CEventSrc {
public:
   __event void event1(int nValue);
   // try the following line instead
   // __event void event1();
};

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

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

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