Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Angle Bracket Placement

The first opening bracket after a template name is interpreted as part of the template's argument list, not as a greater-than operator. The first > after the opening angle bracket is interpreted as the end of the template's argument list, unless it is enclosed in parentheses, is part of a nested template, or is part of a template-style cast expression such as static_cast<int>.

Bad placement of angle brackets (<>) causes many template syntax errors. Make sure that you use proper spacing and parentheses to distinguish angle brackets from operators such as >, >> and ->. For example:

TempClass< float, a > b ? a : b > test1;

should be rewritten as:

TempClass< float, (a > b ? a : b) > test1;

Similarly, pay extra attention when using macros that use angle brackets as template arguments.

Other Resources

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.