gpt4 book ai didi

c++ - 如何 "hide"头文件里面的一个变量?

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:51 25 4
gpt4 key购买 nike

头文件包含两个变量。由于我的程序结构,我有两个“ld: duplicate symbol”错误。这两个变量仅具有局部意义。有什么方法可以使这些变量成为“私有(private)”,这样即使头文件包含在另一个源文件中,也不会在头文件之外看到它们?

编辑:请告诉我,如果我将变量放入 cpp 文件会不会很好?这些变量都是很大的数组,在初始化的时候定义,需要很多行代码...

extern char Lookup[][3] = {  "aa", "ab", "ac", "ad", "ae", "af", ... and so on (really long)}

最佳答案

解决方案是不要在头文件中定义变量。

如果您绝对必须在内部源文件之间共享变量(我建议您不要这样做),那么您应该执行以下操作:

  1. 创建一个“internal.h”。
  2. 在该头文件中声明您的变量 extern
  3. 在两个内部源文件中都包含“internal.h”。
  4. 在一个或其他内部源文件中定义变量。

变量现在对外界是隐藏的。 (它可能在您的目标文件中仍然可见,但您可以使用特定于平台的技巧来去除它。)

关于c++ - 如何 "hide"头文件里面的一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9250306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com