>Eric Lemings wrote:
>
>> Martin Sebor wrote:
>>
>>
>> My point was that I couldn't find a way to use a feature
>> that depends on variadic macros on platforms where they
>> are not supported. In other words, I can't picture what
>> the #else branch below would look like:
>>
>> #ifndef _RWSTD_NO_VARIADIC_MACROS
>> # define RW_ASSERT(expr, ...) \
>> rw_assert (expr, 0, __LINE__, __VA_LIST__)
>> #else
>> # define RW_ASSERT(expr, ???) ...
>> #endif
>
>You're right. There is no backward-compatible workaround which
>essentially rules out using variadic macros in these cases.
>
I think I've showed this trick before, but it won't work with template
parameters, only function parameters.
struct Variadic
{
void operator()(const char* fmt, ...);
};
#define VARIADIC Variadic().operator()
Of course you would use it like this...
VARIADIC("hello %s", "world!");
Travis
>Brad.
>