我想缩短变量名,而不是这样: FPData.Temps.T.Solar.Val
我想使用:
TEMP_Solar.Val并定义宏:
#define TEMP_ FPData.Temps.T.但只有在中间留出空格,它才能起作用:
TEMP_ Solar.Val 编译正常,但我想使用这个
TEMP_Solar.Val有可能吗?我知道我可以使用宏和参数“TEMP_VAL(太阳能)”,但我想保持它的简单,线性连接…
发布于 2013-10-22 22:10:57
这是因为处理宏的预处理器只能识别它们自己的标识符。例如,当你使用TEMP_Solar时,它是一个与TEMP_不同的标识符。
预处理器甚至可能使用一个简单的strcmp来查找它的宏,所以不能没有子字符串,也不能有大小写差异。
发布于 2013-10-22 22:13:06
最明显、最简单的解决方案是:
#define TEMP FPData.Temps.T
TEMP.Solar.Val(您不能也不应该更改结构成员的实际变量名。)
https://stackoverflow.com/questions/19520195
复制相似问题