В проекте на С++ есть объявление функции:
void EXPORT AnimateUntilDead( void );Другая (инлайновая) функция вызывает предыдущую:
SetThink(AnimateUntilDead);В свою очередь SetThink это макрос:
#define SetThink( a ) ThinkSet( static_cast <void (CBaseEntity::*)(void)> (a), #a )Который по идее дает
ThinkSet(static_cast <void (CBaseEntity::*)(void)> AnimateUntilDead, "AnimateUntilDead")Тем не менее в Студии 2019 получаем ошибку:
Error C3867 'CSprite::AnimateUntilDead': non-standard syntax; use '&' to create a pointer to memberА в Студии 6.0 это компилится.
Пробовал добавлять & - не помогло:
SetThink(&AnimateUntilDead);ThinkSet(
static_cast <void (CBaseEntity::*)(void)> (AnimateUntilDead),
"AnimateUntilDead"
);
и вызывать без макроса, напрямую, тоже.
