
On Wed, Aug 4, 2010 at 4:05 PM, Edward Diener
I have a single macro parameter which allows its passed value to contain commas. Therefore the user of the macro needs parentheses around the parameter if it contains one or more commas ( to does not have to ). When processing this parameter in a macro I would like to remove the outer parentheses if they are there before passing the value on for further processing. Is there a way to do this using some preprocessor library macro ?
Have you considered using a variadic macro? I hear they're not available for all C++ precompilers, but it may do what you want: Instead of #define YOUR_MACRO( NOCOMMASALLOWED ) NOCOMMASALLOWED you might use #define YOUR_MACRO( ... ) __VA_ARGS__ I know it's only "one" argument you're after, but this would at least pull the commas through in-tact.