Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
'method': um método manipulador de eventos deve ter a mesma convenção de chamada que o 'method' de origem
Observações
Você definiu um método manipulador de eventos que não usou a mesma convenção de chamada que o método de evento de origem. Para corrigir esse erro, dê ao método manipulador de eventos as mesmas convenções de chamada que as do método de evento de origem. Por exemplo, no código abaixo, faça com que as convenções de chamada de handler1 e event1 correspondam (__cdecl ou __stdcall ou outros). Remover as palavras-chave de convenção de chamada de ambas as declarações também resolverá o problema e fará com que event1 e handler1 adotem automaticamente a convenção de chamada thiscall. Consulte Convenções de chamada para obter mais informações.
Example
O exemplo a seguir gera C3714:
// 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
}
};