У меня есть класс шаблона listmap
с членом, который называется iterator
.C++ - Определение элемента A класса A
template <typename Key, typename Value, class Less = xless<Key>>
class listmap {
public:
class iterator;
//...
}
Определения для итератора из списка отображения следующим образом,
template <typename Key, typename Value, class Less = xless<Key>>
class listmap<Key, Value, Less>::iterator {
//...
}
less
шаблонный класс для сравнения,
template <typename Type>
struct xless {
bool operator() (const Type& left, const Type& right) const {
return left < right;
}
};
Я просто работаю простой тест см., работает ли он, но он дает мне эту ошибку
cannot add a default template argument to the definition of a member of a class template
Мое понимание шаблона очень низкое. Почему я не могу использовать xless
в определении iterator
здесь?