作者:coco2冰冰 | 2023-09-09 18:33
1> Jens Gustedt..:
您必须确保您的组合再次MACRO(BLACK)
评估BLACK
零件。否则,它不会“看到”逗号分隔零。您可以将现有名称重命名MACRO
为MACRO3
(它会收到3个参数),然后
#define MACRO(...) MACRO3(__VA_ARGS__)
@HeidiSalami,首先解析()中的东西作为参数。您只有一个,“黑色”。然后,扩展“ BLACK”,因此现在逗号仍然是该参数的一部分,也是唯一的参数。当您使用扩展名BLACK调用MACRO3时,将重新分隔为参数,然后得到3。