Examples



Examples

Example: Passing a template instantiation to a macro. Macros barely understand C's parentheses and square brackets well enough to balance them. C++, however, defines a new parenthetical construct, namely the < and > used in templates. Macros can't pair those correctly, which means that in a macro invocation

MACRO( Foo<int, double> )

the macro thinks it is being passed two arguments, namely Foo<int and double>, when in fact the construct is one C++ entity.