Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
'olay işleyicisi': bir olay işleyici yöntemi, kaynak 'event' ile aynı depolama sınıfına sahip olmalıdır
Açıklamalar
Bir olay , bağlandığı olay işleyicisinden farklı bir depolama sınıfına sahiptir. Örneğin, olay işleyicisi statik bir üye işleviyse ve olay statik değilse bu hata oluşur. Bu hatayı düzeltmek için olayı ve olay işleyicisine aynı depolama sınıfını verin.
Example
Aşağıdaki örnek C3703 oluşturur:
// 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);
}