У меня есть простой класс, для которого я хочу перегрузить оператор, как показано ниже
class MyClass
{
public:
int first;
template <typename T>
T operator () () const { return first; }
};
А где-то еще у меня
MyClass obj;
int i = obj(); // This gives me an error saying could not deduce
// template argument for T
Может кто-нибудь помочь мне с этой ошибкой, высоко ценится. Спасибо.
редактирование:
Это как-то связано с оператором (), например, если я заменю функцию на
template <typename T>
T get() const { return first;}
это работает. Цените все ответы.