は、私たちは、テンプレートオブジェクトの集合によって表される新しいユーザータイプTLISTてみましょう:コンパレータ、C++
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();
}
};
これはクラスが作成されるテンプレートなので、_classテンプレートと呼ばれています。 – sbi