0
我有一个模板类listmap
,其成员名为iterator
。C++ - 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
我对模板的理解很低。为什么我不能在iterator
的定义中使用xless
?