3
我有一個宏需要一些參數,其中之一是一個類型。例如:將模板類型傳遞給一個宏
#define macro(T,x) T x
如果我嘗試用一個模板類型實例化這個,說:
macro(Type<int,float>,var);
如預期這不會工作,因爲預處理器一無所知的模板。它將解析它爲三個參數:
macro(
Type<int,
float>,
var
);
有沒有辦法解決?我使用了typedef Type<int,float> T;
,但我想知道是否可以在不引入其他(可能是全局的)類型的情況下進行內聯。
也許逗號可以被守衛?
'__VA_ARGS__',或引入'COMMA'宏.. – Jarod42