wxWidgets Version 3.1.2;
Ich habe Ich habe ein Projekt in einem anderen Ordner dupliziert, um als Basis für ein neues zu dienen, und nachdem ich alles entfernt habe, was nicht nützlich ist, habe ich einige Fehler in genau demselben Codeabschnitt im neuen Projekt erhalten, während es im Original keine Fehler gab .
Code: Select all
t_mainform->Connect(C_SERVER_ID_APP, wxEVT_SOCKET, (wxObjectEventFunction)&TcpIP::OnServerGPRSEvent, (wxObject*)NULL, (wxEvtHandler*)this);
...
// event function
void TcpIP::OnServerGPRSEvent(wxSocketEvent& event)
{
...
}
Fehler C2440 „Typumwandlung“: Kann nicht aus „void (__thiscall TcpIP::*“ konvertiert werden) )(wxSocketEvent &)' zu 'wxObjectEventFunction'
Fehler C2664 'void wxEvtHandler::Connect(wxEventType,wxObjectEventFunction,wxObject *,wxEvtHandler *)': Argument 3 von 'wxObject *' kann nicht in 'wxEventType'* konvertiert werden
Ich habe die Projekteigenschaften auf identische Werte wie das Original gesetzt und viele verschiedene Formen der Argumentliste ausprobiert, aber nichts funktioniert. Ich habe auch die Bind-Methode ausprobiert, aber es ist dasselbe.
Ich habe die Bind-Methode ausprobiert, indem ich den Ereignistyp in (wxCommandEvent mit dem Ereignistyp wxEVT_MENU geändert habe, das kann funktionieren, aber ich habe immer noch Ich möchte das wxSocketEvent verwenden.
Was enttäuschend ist, ist, dass beim Kompilieren des anderen Projekts kein Fehler für denselben Code auftritt.
Wo soll ich? Schauen Sie sich das an, um es zu reparieren Das?
Gibt es in Visual Studio eine globale Option bezüglich Besetzungen?