Шаблон функции с оператором
В C ++, вы можете иметь шаблонный оператор в классе? Вот так:
class MyClass {
public:
template<class T>
T operator()() { /* return some T */ };
}
Это на самом деле, кажется, компилируется просто отлично, но возникает путаница, как его использовать:
MyClass c;
int i = c<int>(); // This doesn't work
int i = (int)c(); // Neither does this*
Тот факт, что он компилируется, наводит на мысль, что это выполнимо, я просто не знаю, как его использовать! Любые предложения, или этот метод использования не стартер?