You expected that to work?
Uhm, why not? template<class T> struct F { F<F<T> > f() { return F<F<T> >(); } }; int main() { F<int>().f().f().f().f().f(); // etc. return 0; }
Not trying to to be rude, but did you think about *your* reason before responding?Try thinking about your code before mouthing off here.