On Sun, Dec 18, 2011 at 05:01:54PM +0100, Nikola Smiljanic wrote: > But what about > > template<class T> > const char *foo() { > T t(); > std::cout << t; > > return __PRETTY_FUNCTION__; > } That's not valid, is it? E.g. the function doesn't result in non-conflicting specialisations, does it? Joerg