IntelliSense: переопределение шаблона псевдонима

IntelliSense в Visual Studio 2017 (15.1) подчеркивает слово Type в следующем коде:

#include <type_traits>

template<class... Vars>
struct Test : std::true_type { };

template<class... TT>
using Type /*!*/ = std::conditional_t<std::conjunction_v<Test<TT>...>, int, double>;

//template<class... TT>
//using Type = std::conditional_t<std::conjunction<Test<TT>...>::value, int, double>; // no error

int main()
{
    return 0;
}

Ошибка гласит (с некоторыми очевидными упущениями): тип шаблона псевдонима "std::conditional_t ​​<...>" несовместим с предыдущим типом "std::conditional_t ​​<...>" в повторном объявлении шаблона псевдонима "Тип "

Код компилируется. Это ошибка в IntelliSense?

0 ответов

Другие вопросы по тегам