Szablon funkcji z operatorem
Czy w C ++ możesz mieć operatora klasy w klasie? Tak jak:
class MyClass {
public:
template<class T>
T operator()() { /* return some T */ };
}
Wydaje się, że to dobrze się kompiluje, ale nieporozumienie pojawia się w sposobie korzystania z niego:
MyClass c;
int i = c<int>(); // This doesn't work
int i = (int)c(); // Neither does this*
Fakt, że w ogóle się kompiluje, sugeruje mi, że jest wykonalny, po prostu nie potrafię go użyć! Jakieś sugestie, czy ta metoda jest nieużyteczna?