Ошибки сборки C++ с помощью wxWidgets 3.1.2 и метода ConnectC++

Программы на C++. Форум разработчиков
Anonymous
Ошибки сборки C++ с помощью wxWidgets 3.1.2 и метода Connect

Сообщение Anonymous »

Я использую Visual Studio 2017 на компьютере x86, приложение предназначено для 32-разрядной версии.
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

Вернуться в «C++»