------- Comment #7 from Zarathustra at gentlemansclub dot de 2007-05-17 13:27 ------- According to my current understanding, the compiler is right not to accept the given example code: Name resolution at the point of instantiation does only work for dependent names. Given a expression which looks like "postfix-expression ( expression-listopt )" "postfix-expression" is a dependent name if (and only if) some thing in "expression-listopt" depends on a template parameter and "postfix-expression" is an identifier. This holds for foo(...) but it does not hold for foo<...>(...) or ::foo(...). Therefore I assume the compiler behaves correctly. This is probably another case where the C++ standard is somehow counterintuitive.
-- Zarathustra at gentlemansclub dot de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30822