Plantilla de función con un operador.
En C ++, ¿puedes tener un operador de plantilla en una clase? Al igual que:
class MyClass {
public:
template<class T>
T operator()() { /* return some T */ };
}
En realidad, esto parece compilar muy bien, pero la confusión viene de cómo se usaría:
MyClass c;
int i = c<int>(); // This doesn't work
int i = (int)c(); // Neither does this*
El hecho de que se compile en absoluto me sugiere que es factible, ¡no sé cómo usarlo! ¿Alguna sugerencia o es este método de uso un no iniciador?