Errore del compilatore C3717
'method': non è possibile definire un metodo che genera eventi
È stato dichiarato un metodo di evento che include un'implementazione. Una dichiarazione di metodo __event non può avere una definizione. Per correggere questo errore, assicurarsi che nessuna dichiarazione di metodo evento disponga di definizioni. Nel codice seguente, ad esempio, rimuovere il corpo della event1
funzione dalla dichiarazione come indicato dai commenti.
L'esempio seguente genera l'errore C3717:
// C3717.cpp
[event_source(native)]
class CEventSrc {
public:
__event void event1() { // C3717
}
// remove definition for event1 and substitute following declaration
// __event void event1();
};
[event_receiver(native)]
class CEventRec {
public:
void handler1() {
}
void HookEvents(CEventSrc* pSrc) {
__hook(CEventSrc::event1, pSrc, CEventRec::handler1);
}
void UnhookEvents(CEventSrc* pSrc) {
__unhook(CEventSrc::event1, pSrc, CEventRec::handler1);
}
};
int main() {
}