How to solve the type alias conflict in C

If C project has multiple aliases by the keyword of “typedef”, it would cause compiling error of conflict. This could not be solved directly by the directive of”#ifndef” because it is not defined by the preprocessor directive, such as “#ifndef”. This problem has been found and discussed on the website, but it seems no good idea to solve. The type alias is often specified by the typedef in the header file, which may be generated by the developer or included from the third party, or the library of C/C++. But what is the root cause and how to avoid it?

Policy #1.

To find the conflict source and if it is specified by a macro, such as #ifdef or #ifndef, we can use the macro to do avoidance of conflict. But it is always suitable if the header file includes some more other definitions to cause more conflicts.

Policy #2

To reduce the header file to separate files, the type definition can be placed into one header file. This is not changed much about the project, and it is easy to modify and maintain.

Of course, it also implies that we should add Macro control if we use the typedef to define customized alias.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值