Как вызвать функцию-член шаблона? [Дубликат]
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>();
который тоже хорошо компилируется. а?
Как правильно вызвать функцию-член шаблона в смысле исходного кода?