Megosztás a következőn keresztül:


C3714 fordítási hiba

"metódus": az eseménykezelő metódusnak ugyanazzal a hívási konvencióval kell rendelkeznie, mint a forrás "metódus"

Megjegyzések

Olyan eseménykezelő metódust definiált, amely nem ugyanazt a hívási konvenciót használta, mint a forrásesemény-metódus. A hiba kijavításához adja meg az eseménykezelő metódusnak a forrásesemény-metódushoz hasonló hívási konvenciókat. Az alábbi kódnál például tegye a handler1 és event1 hívási konvencióit egyezővé (__cdecl vagy __stdcall vagy más). A hívási konvenciók kulcsszavainak eltávolítása mindkét deklarációból szintén megoldja a problémát, továbbá a és alapértelmezés szerint a thiscall hívási konvenciót fogja használni. További információt a Hívási konvenciók című témakörben talál.

Example

Az alábbi példa c3714-et hoz létre:

// C3714.cpp
// compile with: /c
// processor: x86
[event_source(native)]
class CEventSrc {
public:
   __event void __cdecl event1();
   // try the following line instead
   // __event void __stdcall event1();
};

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

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

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