2016-07-29 4 views
-1

Так что я пытаюсь портировать код моих друзей, который был скомпилирован с помощью GCC Visual C++.
ошибка C2440: 'тип cast': не может преобразовать из 'unsigned int (__thiscall IEngineVGui :: *) (unsigned int)' to 'void *'

Picture of what i'm doing and error.

+4

Привет, добро пожаловать в SO. Пожалуйста, разместите фактический код и фрагменты ошибок вместо скриншотов – Idan

ответ

0

Ваша проблема заключается здесь:

(void*) &IEngineVGui::GetPanel 

Тип &IEngineVGui::GetPanel является int (IEngineVGui::*) (int), который является member function pointer.

Вы пытаетесь преобразовать его в «обычный» тип указателя, which is sadly not possible, потому что они обрабатываются совершенно по-разному. Таким образом, MSVC действует правильно, вызывая ошибку. Если ваш код скомпилирован в GCC, это, скорее всего, связано с ошибкой и/или нестандартным расширением в этой конкретной версии.

Смежные вопросы