我在我的代码中使用了外部模块,并且在两个模块中有2个不同的typedef,显然这两个定义是不同的。一个是typedef int BOOLEAN,另一个是typedef unsigned char BOOLEAN。
所以,当我尝试编译时,我得到了“重新定义”错误......
简单的解决方案是“杀死”其中一个typedef。 但是......这就是我在这里问的原因,我不应该将这两个模块修改为许多其他系统中使用的标准模块...... 所以我问是否可以“动态”杀死这些typedef中的一个,比如说在预编译期间?
例如,有没有像#define这样的解决方案,你可以使用#undef(这里不起作用,因为它不是#define动作......)