Teilen über


Compilerfehler C3717

'method': eine Methode, die Ereignisse auslöst, kann nicht definiert werden.

Bemerkungen

Sie haben eine Ereignismethode deklariert, die eine Implementierung enthält. Eine __event Methodendeklaration darf keine Definition aufweisen. Um diesen Fehler zu beheben, stellen Sie sicher, dass keine Ereignismethodendeklarationen Definitionen aufweisen. Entfernen Sie z. B. im folgenden Code den Funktionstext aus der event1 Deklaration, wie in den Kommentaren angegeben.

Example

Im folgenden Beispiel wird C3717 generiert:

// 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() {
}