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