最佳答案
                                        
                                                                        
                                我不明白,在我看来,对 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>();
}
};