让我们用一组模板对象表示新的用户类型 Tlist:
template <class T>
struct TList
{
typedef std::set <Object <T>, sortByVal > TObjects;
};
比较器 sortByVal 必须也是模板类还是非模板类的模板方法就足够了?
class sortByVal
{
public:
template <class T>
bool operator() ( const Object <T> &o1, const Object <T> &o2 ) const
{
return o1.getVal() < o2.getVal();
}
};
或者
template <class T>
class sortByVal
{
public:
bool operator() ( const Object <T> &o1, const Object <T> &o2 ) const
{
return o1.getVal() < o2.getVal();
}
};