次のことを考慮してください。
class MyClass {
public:
int operator ()(int a, int b);
};
持っているとき:
MyClass* m = new MyClass();
operator()
メソッドにアクセスしたいので、次のことができます。
(*m)(1,2);
しかし、私はこれを行うことができますか?
m->(1,2);
次のことを考慮してください。
class MyClass {
public:
int operator ()(int a, int b);
};
持っているとき:
MyClass* m = new MyClass();
operator()
メソッドにアクセスしたいので、次のことができます。
(*m)(1,2);
しかし、私はこれを行うことができますか?
m->(1,2);
その構文ではありませんが、あなたはすることができます
m->operator()(1,2);
変更しない場合m
(それが指すもの)、(*m)
参照で置き換えることができます:
MyClass *m = new MyClass();
MyClass &r = *m;
r(1, 2);
詳細については、この回答を参照してください。