Я не понимаю, мне кажется, что вызов f
абсолютно недвусмыслен, но он не скомпилируется с expected primary-expression before ‘int’
. Если я прокомментирую строку с вызовом f
, она компилируется отлично.
template<typename T>
struct A {
template<typename S>
void f() { }
};
template<typename T>
struct B : A<T> {
void g() {
this->f<int>();
}
};