Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
"eseménykezelő": az eseménykezelő metódusnak ugyanazzal a tárolási osztálysal kell rendelkeznie, mint a forrás "esemény"
Megjegyzések
Egy eseménynek más tárolási osztálya van, mint annak az eseménykezelőnek, amelyhez csatlakozik. Ez a hiba például akkor fordul elő, ha az eseménykezelő statikus tagfüggvény, és az esemény nem statikus. A hiba kijavításához adja meg az eseménynek és az eseménykezelőnek ugyanazt a tárolási osztályt.
Example
Az alábbi példa c3703-at hoz létre:
// 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);
}