Я пытаюсь определить черту типа, которую я могу использовать с static_assert
, чтобы управлять тем, что один из моих классов шаблонов создается только с помощью s td::array<T,n>
. Вот моя попытка:Тип типа для std :: array
template <typename T>
struct is_std_array : public false_type {};
template <template <typename, size_t> class T, typename V, size_t n>
struct is_std_array<std::array<V, n>> : public true_type {};
Но я получаю следующее предупреждение от лязга:
warning: class template partial specialization contains a template parameter
that cannot be deduced; this partial specialization will never be used
non-deductible template parameter 'T'
Почему 'T' не вычитаются? Как это исправить?
Не могли бы вы помочь мне с использованием true_type и false_type, как это? –