Skip to content

Latest commit

 

History

History
7 lines (6 loc) · 588 Bytes

File metadata and controls

7 lines (6 loc) · 588 Bytes

Y<T>::t2() 中,f 不是一个待决名(dependent name),而 X<T> 则是待决名。
在查找 f(在 Y<T>::t2() 中)时,因为它不是待决名,所以在模板实参未知的时候就会进行查找,因此不会查找到待决名 X<T>,就无法找到 X<T>::f(),最终找到 ::f()
而在 t2() 中,由于 this 始终是一个隐式的待决名,所以会推迟到模板实参已知时查找,从而找到待决名 Y<T>::t2()

参考资料:
https://isocpp.org/wiki/faq/templates#nondependent-name-lookup-members