Вызов перегруженного оператора() из указателя объекта Рассмотрим следующее: class MyClass { public: int operator ()(int a, int b); }; Если у вас есть: MyClass* m = new MyClass(); Я хочу получить доступ к методу operator(), чтобы я мог: (*m)(1,2); Но могу ли я сделать это? m->(1,2); Ответ 1 Не с этим синтаксисом, но вы можете сделать m->operator()(1,2); Ответ 2 Если вы не измените m (на что он указывает), вы можете заменить (*m) ссылкой: MyClass *m = new MyClass(); MyClass &r = *m; r(1, 2); Подробнее см. этот ответ.
Ответ 2 Если вы не измените m (на что он указывает), вы можете заменить (*m) ссылкой: MyClass *m = new MyClass(); MyClass &r = *m; r(1, 2); Подробнее см. этот ответ.