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
?