使用以下代码,
#define REINT(T, X) (union {__typeof__(X) x; T t;}){X}.t
int f2i(float x) {
return REINT(int, x);
}
float i2f(int x) {
return REINT(float, x);
}
float f2i2f(float x) {
return REINT(float, REINT(int, x));
}
Clang抱怨大约f2i2f
个"初始值设定项元素不是编译时常量".这似乎很奇怪,因为复合文字"具有与