Я хочу определить типы параметров, переданных функции, используя VA_ARGS, чтобы перенаправить его в правый обработчик, но во время компиляции (а не внутри функции с помощью va_args()).
путем определения типа я означает, что мне нужно знать, содержит ли трассировку только целые числа или имеет в ней строки, но я хочу, чтобы он находился во время компиляции.
например:
#define TRACE_HANDLER(type_branch) (Invoke_ ## type_branch)
#define TYPE_ARGS(args) ______//Determine if all arguments are uint32________
#define TRACE_(formatString,...) TRACE_HANDLER(TYPE_ARGS(__VA_ARGS__))(__VA_ARGS__)
#define TRACE(Id,formatString,...) TRACE_(formatString,__VA_ARGS__)
любые идеи?
спасибо!