m177155 发表于 2011-11-04 13:35

(void) (&_x == &_y); 作用

#define min(x, y) ({ \
const typeof(x) _x = (x); \
const typeof(y) _y = (y); \
(void) (&_x == &_y); \
_x < _y ? _x : _y;})看到一个求min的宏, 请问第三句 (void) (&_x == &_y); 有什么作用

wait_rabbit 发表于 2011-11-04 13:53

检查x和y的类型是否相同。

比如 int x, char y。

当,(void) (&x == &y) 进行对比,编译器就会发出警告:warning: comparison of distinct pointer types lacks a cast

m177155 发表于 2011-11-04 13:59

回复 2# wait_rabbit


    明白,谢谢。
页: [1]
查看完整版本: (void) (&_x == &_y); 作用