- 我使用GCC编译器(版本9.2.0)
- 我想在 C 中使用 typeof 函数,但它会引发错误(错误:“typeof”之前的预期表达式)
- 如果您需要更多信息,请询问我。
int a = 5;
double b;
//the expected result is "0", but it raises an error instead...
printf("%d", typeof(a) == typeof(b));
您可以通过删除 gcc 扩展并使用标准 C 来获得您想要的行为_Generic
:
#define my_typeof(x) _Generic((x), int: 1, double: 2)
printf("%d", my_typeof(a) == my_typeof(b));
唯一的问题是您必须手动输入每种类型的支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)