I am using nested macro under gcc-9.3.1.
Here is the code.
#define A(_name) _name, _name, _name
#define P(_1, _2, _name, ...) _name
#define B(...) P(__VA_ARGS__, A(something))(__VA_ARGS__)
B(k)
I expected the B(k) converted to P(k, something, something, something)(k) at first and then converted into something(k).
However, compilier told me that two arguments were too few for P, which meant that A(something) was not unfolded.
Why is that? And how can I make it unfolded?
Aucun commentaire:
Enregistrer un commentaire