当我尝试在宏中使用 ## 时出现错误,这是我尝试做的:
有了这个定义:
#define PORT 2
#define PIN 3
我希望预处理器生成:
PM2.3=1
当我调用这样的宏时:
SetPort(PORT,PIN)
然后,我看到我可以在连接的同时进行替换 PORT 和 PIN,然后我认为我必须使用 2 定义:
#define SetP2(PORT,PIN) PM##PORT.PIN = 1
#define SetPort(PORT,PIN) SetP2(PORT,PIN)
但我得到一个错误:
#define PIN 3 --> expected identifier before numeric constant
并警告:
SetPort(PORT,PIN) --> Syntax error
任何的想法?