这个宏在什么情况下会导致错误?
In which situation does this macro can cause an error?
考虑以下宏
#define SQ(x) ((x) * (x));
在什么情况下使用这个宏会出错?
如果它的参数在评估时有副作用。例如,SQ(i++) 是未定义的行为。
考虑以下宏
#define SQ(x) ((x) * (x));
在什么情况下使用这个宏会出错?
如果它的参数在评估时有副作用。例如,SQ(i++) 是未定义的行为。