Udostępnij za pomocą


Błąd kompilatora C3709

"function": niewłaściwa składnia określania zdarzenia w __hook/__unhook

Uwagi

Po określeniu źródła zdarzeń z __hook lub __unhook pierwszy parametr musi być prawidłową metodą zdarzenia, a drugi parametr musi być prawidłowym obiektem źródła zdarzeń (a nie metodą).

Example

Poniższy przykład generuje kod C3709:

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

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

   void HookEvents(CEventSrc* pSrc)
   {
      __hook(bad, pSrc, CEventRec::handler1);   // C3709
      // Try the following line instead:
      // __hook(&CEventSrc::event1, pSrc, CEventRec::handler1);
   }

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