1.项目中用宏的时候,遇到如下警告
Operator '?:' has lower precedence than '*'; '*' will be evaluated first
2.错误原因
*操作符的优先级比 ?符号优先级低,会先*运算,结果也许就并不是自己需要的
类似此错误一般都与优先级有关
3.解决方案(示例)
错误定义:#define kItemH UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad?140:80
正确定义:
#define kItemH (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad?140:80)
ps:根据需求用()来保证优先级即可