Шаблон функции с оператором

В 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*

Тот факт, что он компилируется, наводит на мысль, что это выполнимо, я просто не знаю, как его использовать! Любые предложения, или этот метод использования не стартер?

Ответы на вопрос(3)

Ваш ответ на вопрос