std :: map выдает ошибку преобразования типа, но только при компиляции для x86

Мне нравится объяснение, высказанное Роем Ошеровым [видео ссылка] .

Каждый созданный класс или объект является Fake. Это макет, если вы проверяете на него вызовы. В противном случае это заглушка.

-1
задан Porksodaguy 15 January 2019 в 18:48
поделиться

1 ответ

Понял! Проблема заключалась во включении __stdcall в объявление функции или, скорее, в __stdcall в определении типа указателя на функцию. Кажется, что при определенных сочетаниях архитектуры __stdcall может вызывать или не вызывать ошибку преобразования типа, если __stdcall также отсутствует в определении типа указателя. Объявление типа моего указателя на функцию выглядит следующим образом:

typedef double(__stdcall *convertFunc)(EUnits, EUnits, double);
typedef int(__stdcall *convertFuncD)(EUnits, EUnits, double*,double*,int);
typedef int(__stdcall *convertFuncF)(EUnits, EUnits, float*, float*, int);

исправили ошибку!

0
ответ дан Porksodaguy 15 January 2019 в 18:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: