Я пытаюсь отключить функцию, если какой-либо тип класса списка передается в функцию со следующим enable_ifПопытка отключить функцию, если какой-либо тип списка передается в
template <typename ContainerType, typename KeyType,
typename = std::enable_if_t<!std::is_same<
std::decay_t<ContainerType>,
std::list<typename ContainerType::value_type>>::value>>
void func(ContainerType&& container, KeyType&& key)
Но когда я называю FUNC с vector<int>
я получаю ошибку
candidate template ignored: substitution failure [with ContainerType = std::__1::vector<int, std::__1::allocator<int> > &, KeyType = int]: type 'std::__1::vector<int, std::__1::allocator<int> > &' cannot be used prior to '::' because it has no
members
вектор имеет элемент ЬурейеГо value_type
, чтобы получить значение вещей, хранящихся в нем ..
Любая идея, как я могу это исправить?
'зОго :: enable_if' должен быть, возможно,' зОго :: enable_if_t'? – StoryTeller
@StoryTeller Хороший глаз! Но это не исправило ошибку :( – Curious