Использование параметров шаблона в качестве параметров шаблона
Почему следующий код недействителен?
template <typename S, typename T>
struct B{
void f(T t, S s) {t.f<S>(s); }
};
gcc 4.3.4 жалуется на то, что он «ожидал первичного выражения перед '>' токеном», то есть «S» не было допустимым первичным выражением.