------- Comment #3 from mmitchel at gcc dot gnu dot org 2006-10-16 23:25 ------- James --
Case #1 in Comment #1 is accepted by current G++ 4.1 and mainline branches. I do not believe Case #2 is valid, as the standard says that a non-type template argument may be: the address of an object or function with external linkage, includ- ing function templates and function template-ids but excluding non- static class members, expressed as & id-expression Thus, the parentheses make this case invalid. Admittedly, that's pedantic, but I think that's what the standard says. Comment #3 is a separate enhancement request, and should be refiled separately. Thanks, -- Mark -- mmitchel at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.0/4.1/4.2 Regression] |[4.0 Regression] Parentheses |Parentheses elicit spurious |elicit spurious error: |error: "missing '>' to |"missing '>' to terminate |terminate the template |the template argument list" |argument list" | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27732