zoukankan      html  css  js  c++  java
  • 重复包含解决的办法

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

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

    解决办法:
    在头文件中 

     

    这种写法也是固定的!
    再来看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不需要有源文件,它就是一个公关的头文件。

    总结

  • 相关阅读:
    <trim>: prefix+prefixOverrides+suffix+suffixOverrides
    时间js
    form表单中name和id区别
    SQL 递归
    表单中Readonly和Disabled的区别
    jquery select取值,赋值操作
    ie11
    mongodb 学习资料
    H5 限制input只能输入数字
    http头部解释
  • 原文地址:https://www.cnblogs.com/dabing0983/p/10557031.html
Copyright © 2011-2022 走看看