Powiel możliwe:
C++ template member function of template class called from template functionJak wywołać funkcję członka szablonu?
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"
}
mogę go zmienić na
b->A<T1>::template foo<T0>();
który kompiluje grzywny. Jednak można również zmienić go na
który również kompiluje dobrze. co?
Jak poprawnie wywołać funkcję elementu szablonu w znaczeniu oryginalnego kodu?
Czy wiemy, co te dwa stwierdzenia, które faktycznie skompilować oznacza? W tym "ugotowanym" przykładzie kompilują, ale w moim prawdziwym programie to się nie kompiluje. – ritter