Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
'obslužná rutina události': Metoda obslužné rutiny události musí mít stejnou třídu úložiště jako zdroj "event"
Poznámky
Událost má jinou třídu úložiště než obslužná rutina události, ke které je připojena. K této chybě dochází například v případě, že obslužná rutina události je statická členová funkce a událost není statická. Pokud chcete tuto chybu opravit, dejte události a obslužné rutině události stejnou třídu úložiště.
Example
Následující příklad generuje C3703:
// C3703.cpp
// C3703 expected
#include <stdio.h>
[event_source(type=native)]
class CEventSrc {
public:
__event static void MyEvent();
};
[event_receiver(type=native)]
class CEventHandler {
public:
// delete the following line to resolve
void MyHandler() {}
// try the following line instead
// static void MyHandler() {}
void HookIt(CEventSrc* pSource) {
__hook(CEventSrc::MyEvent, pSource, &CEventHandler::MyHandler);
}
void UnhookIt(CEventSrc* pSource) {
__unhook(CEventSrc::MyEvent, pSource, &CEventHandler::MyHandler);
}
};
int main() {
CEventSrc src;
CEventHandler hnd;
hnd.HookIt(&src);
__raise src.MyEvent();
hnd.UnhookIt(&src);
}