次のコンストラクターとメンバーを持つ 2 つのテンプレート引数を持つテンプレート クラスがあります。
template <class T, class TCompare>
class MyClass {
...
public:
MyClass(TCompare compare);
void addElement(T newElement);
...
};
そして、整数比較のために operator () をオーバーロードする構造があります。
struct IntegerLess {
bool operator () {const int& a, const int& b) {
if (a < b)
return true;
return false;
}
};
クラス 'MyClass' のオブジェクトを作成し、それを使用しようとします。
MyClass<int, IntegerLess> myClassObject(IntegerLess());
myClassObject.addElement(10);
ただし、次のコンパイル時エラーが発生しました。
error: request for member ‘addElement’ in ‘myClassObject’, which is of non-class type ‘MyClass<int, IntegerLess>(IntegerLess (*)())’
どうすれば修正できますか?ありがとう!