Как вызвать функцию-член шаблона? [Дубликат]

Possible Duplicate:
C++ template member function of template class called from template function

template<class T1>
class A 
{
public:
    template<class T0>
    void foo() const {}
};

template<class T0,class T1>
void bar( const A<T1>& b )
{
    b.foo<T0>();  // This throws " expected primary-expression before ‘>’ token"
}

Я могу изменить это на

b->A<T1>::template foo<T0>();

который компилируется нормально. Однако я также могу изменить его на

b.A<T1>::template foo<T0>();

который тоже хорошо компилируется. а?

Как правильно вызвать функцию-член шаблона в смысле исходного кода?

Ответы на вопрос(2)

Ваш ответ на вопрос