В С++ у вас есть шаблонный оператор в классе? Например:
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*
Тот факт, что он вообще компилируется, подсказывает мне, что это выполнимо, я просто в недоумении, как его использовать! Любые предложения, или это метод использования не стартера?