Отслеживание ошибок шаблона — ошибка отображается только в & quot; type_traits & quot; и не дает указания, где искать

Спасибо, что нашли время, чтобы посмотреть на мою проблему. В настоящее время я делаю порт довольно крупного проекта C ++ (игра Cocos2dx) для Windows. Я получил проект и смог обработать все ошибки, кроме двух оставшихся, которые, похоже, связаны с шаблонами. Показаны следующие ошибки:

Error   C2672   'std::invoke': no matching overloaded function found ...  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\type_traits    1434
Error   C2893   Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...)'    ...  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\type_traits 1434

Источник в type_traits вокруг этой строки выглядит так:

template<class _Cv_void,
class... _Valtys> inline
void _Invoke_ret(_Forced<_Cv_void, true>, _Valtys&&... _Vals)
{   // INVOKE, "implicitly" converted to void
_STD invoke(_STD forward<_Valtys>(_Vals)...);
}

Если честно, я довольно новичок в шаблонах и раньше не использовал их сам. Насколько я вижу, эта ошибка говорит мне, что где-то в моем проекте есть шаблон, который используется неправильно. Проблема в том, что их используется тонна, и я понятия не имею, с чего начать. Всего несколько примеров:

... template<typename T>
class Currency { ...

... template<typename AllocatedType, const unsigned int objectPerAllocation>
class BatchAllocator ...

... template<class T>
static T selectRandomItem( ...)

И так далее … Есть ли возможность выяснить, где именно проблема вызвана в исходных файлах? Я использую Visual Studio Enterprise 2015, набор инструментов платформы установлен на Visual Studio 2015 (v140).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]