wxWidgets версии 3.1.2;
У меня есть продублировал проект в другой папке, чтобы он служил основой для нового, и после удаления всего бесполезного у меня возникли некоторые ошибки точно в той же части кода в новом проекте, хотя в оригинале ошибок не было. .
Код: Выделить всё
t_mainform->Connect(C_SERVER_ID_APP, wxEVT_SOCKET, (wxObjectEventFunction)&TcpIP::OnServerGPRSEvent, (wxObject*)NULL, (wxEvtHandler*)this);
...
// event function
void TcpIP::OnServerGPRSEvent(wxSocketEvent& event)
{
...
}
Ошибка C2440 «приведение типа»: невозможно преобразовать из «void (__thiscall TcpIP::*) )(wxSocketEvent &)» в «wxObjectEventFunction»
Ошибка C2664 'void wxEvtHandler::Connect(wxEventType,wxObjectEventFunction,wxObject *,wxEvtHandler *)': невозможно преобразовать аргумент 3 из 'wxObject *' в 'wxEventType'*
Я установил для свойств проекта те же значения, что и в оригинале, попробовал много разных форм списка аргументов, но ничего не работает. Я также пробовал метод Bind, но он тот же.
Я пробовал метод связывания, изменив тип события на (wxCommandEvent с типом события wxEVT_MENU, это может работать, но я все равно хочу использовать wxSocketEvent.
разочаровывает то, что при компиляции другого проекта для того же кода ошибки не возникает.
Где мне следует использовать посмотри на чтобы это исправить?
есть ли в Visual Studio глобальная опция, касающаяся приведения?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ect-method
Мобильная версия