全局变量之间的冲突c/c ++

1 c++ global-variables conflicting-libraries

我正在使用两个文件".h",其中有3个具有相同名称的全局变量.

我们假设有这些文件:

  • 啊=>里面有"union var1","union var2"和"#define LENGTH 20".
  • Bh =>里面有"union var1","union var2"和"#define LENGTH 60".
  • Ch =>进口Ah和Bh

当我编译Ch时,我有一个错误导致相同变量名称的冲突.

我不想修改他们的名字,因为他们在公共图书馆里面(我想按原样使用它们!).这是我的问题.有人能帮我吗?谢谢.

Dav*_*rtz 6

隔离每个公共库,以便您不需要在任何单个文件中包含两个头文件.文件可以使用一个库,也可以使用另一个库,但不能同时使用两个库.您将需要为所需的功能创建包装器,包装最容易包装的库,并使用您的包装器而不是直接使用其他库的代码中的库.