• 重复包含解决的办法


    头文件重复包含所引起的问题,问题就一个——重定义。因为把同样的代码在同一个文件中复制黏贴了两份,比如对结构体类型,复制了两份就是两个一模一样的结构体,所以会报重定义的错误!!!

    既然允许头文件重复包含,但是如何去处理,让你不能够重定义?

    解决办法:
    在头文件中 

     

    这种写法也是固定的!
    再来看c3.h中的

    而应该换个名字

    为什么这样写了之后,就不会有重复定义的问题了?

    把所有的东西都替换了(#include"c3.h",#include "d3.h")

    接下来讲一个规范

    如果一个结构体要在很多文件中使用这个结构体,或者以后定义的宏,typedef,等等。同样的这些个东西可能要在很多的文件中使用,这个时候一般的做法是定义一个公共头文件。common.h

    把结构体的定义放在common.h中

    在哪个文件中使用这个结构体,就直接包含common.h就可以了

    这样在d3.h中就不用包含c3.h。这样会让单独的这些文件之间,他们的关系就清晰了,不会你包含我,我包含你,乱七八糟的关系。把咱们都要用到的东西,放在一个文件中,大家要使用这个东西的时候,直接让c3.h和common.h有关系,d3.h和common.h 有关系。common成了一个公共的东西。common.h不需要有源文件,它就是一个公关的头文件。

    总结

  • 相关阅读:
    js字符串String常用方法
    flexible.js结合rem实现移动端自适应布局
    Django API验证(令牌)
    错误堆栈信息
    JS Ajax异步请求发送列表数据后面多了[]
    根据后端传的时间前端js进行倒计时
    Vue select 下拉菜单
    centos 6.x 部署uwsgi+flask项目
    css 让背景图片不停旋转
    supervisor管理uwsgi
  • 原文地址:https://www.cnblogs.com/dabing0983/p/10557031.html
Copyright © 2020-2023  润新知