我希望它可以编译而不会出现错误。只希望它等到实例化
template<class T>
struct A : public T{
void f(){ foo(); }
};
int main() {}
答案 0 :(得分:3)
您可以将代码更改为:
template<class T>
struct A : public T{
void f(){ this->foo(); } // or T::foo();
};
int main() {}
使foo
类型依赖于您的代码。
答案 1 :(得分:1)
两阶段查找规则由c ++标准和/或由编译器定义。 无法更改规则,就像您不能更改法律一样。您需要告诉我们真正的问题是什么。