Пустой консольный проект студии 2017, с настройками по умолчанию, кроме Platform Toolset: v141_xp, с таким кодом:
#include <Windows.h>
int main()
{
return 0;
}
Дает ошибку при компиляции:
Error C2760 syntax error: unexpected token 'identifier', expected 'type specifier' myproject c:\program files (x86)\microsoft sdks\windows\v7.1a\include\objbase.h 239
Строка 239 в файле objbase.h (с комментарием "make sure everyone..."):
extern "C++"
{
template<typename T> void** IID_PPV_ARGS_Helper(T** pp)
{
static_cast<IUnknown*>(*pp); // make sure everyone derives from IUnknown
return reinterpret_cast<void**>(pp);
}
}
Если переключить Platform Toolset на v141 (без поддержки WindowsXP) то собирается нормально.
Что означает эта ошибка и как заставить компилироваться такой код?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости