Nie rozumiem, wydaje mi się, że wywołanie f
jest całkowicie jednoznaczne, ale nie udało się skompilować z expected primary-expression before ‘int’
. Jeśli skomentuję linię z połączeniem do f
, kompiluje się dobrze.Dlaczego pojawia się błąd podczas próby wywołania funkcji elementu szablonu z jawnym parametrem typu?
template<typename T>
struct A {
template<typename S>
void f() { }
};
template<typename T>
struct B : A<T> {
void g() {
this->f<int>();
}
};
Pochwalam Cię za nie tylko odnalezienie tego bezbożnego problemu, ale za to, że nigdy go nie przysięgałeś podczas jego opisywania. –