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
Мобильная версия