Udostępnij za pomocą


Błąd kompilatora C3712

"method": metoda obsługi zdarzeń musi zwrócić ten sam typ co źródłowa "metoda"

Uwagi

Zdefiniowano metodę obsługi zdarzeń, która nie zwróciła tego samego typu co metoda zdarzenia źródłowego. Aby naprawić ten błąd, nadaj metodzie obsługi zdarzeń ten sam typ zwracany co metoda zdarzenia źródłowego.

Example

Poniższy przykład generuje 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
   }
};