------- Additional Comments From squell at alumina dot nl 2005-07-24 00:56 ------- (In reply to comment #4) > > bar< ptr->f > a; // ERROR: `->' cannot appear in constant expression > > bar< &ptr->f > b; // ERROR: '>' missing in template argument > No, both of those are invalid as -> cannot be in constant expression.
Correction: You're absolutely right! :) C++ simply disallows this syntax because the template non-type argument must be of the form "id-expression" or "&id-expression". It follows logically that the transformation I described shouldn't apply, since it would produce ill-formed code anyway. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22621