访问另一个 .cpp 文件中的 .cpp 文件中定义的全局变量[重复]

2024-01-11

考虑以下场景:

我的文件.cpp:

const int myVar = 0;// 全局变量

另一个文件.cpp:

void myFun()
{
    std::cout << myVar; // compiler error: Undefined symbol
}

现在如果我添加extern const int myVar; in 另一个文件.cpp在使用之前,链接器抱怨为

未解决的外部

我可以移动声明myVar to MyFile.h并包括MyFile.h in 另一个文件.cpp来解决问题。但我不想将声明移至头文件中。我还有其他方法可以完成这项工作吗?


In C++, const 暗示内部联系 https://stackoverflow.com/questions/998425/why-does-const-imply-internal-linkage-in-c-when-it-doesnt-in-c。您需要声明myVar as extern在 MyFile.cpp 中:

extern const int myVar = 0;

AnotherFile.cpp 中的:

extern const int myVar;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问另一个 .cpp 文件中的 .cpp 文件中定义的全局变量[重复] 的相关文章

随机推荐

  • Tensorflow Dataset API:带有 parquet 文件的输入管道

    我正在尝试使用 Dataset API 设计输入管道 我正在处理镶木地板文件 将它们添加到我的管道中的好方法是什么 我们已经发布了万能风暴 https github com uber petastorm 一个开源库 允许您通过 Tensor
  • 提示使用自定义目录查找 .cmake 文件

    在 CMake 中 有没有办法制作内置的 Find 脚本来优先考虑我们指定的自定义目录 因为特别是在 Windows 中 模块查找脚本通常无法检测到模块 例如 Visual Studio 目录 因此我通常必须手动设置外部库的路径 这非常累人
  • 颤振回调函数

    我有一个数量需要在父小部件中更新 按子小部件中的 或 图标时需要更新数量 我将回调函数传递给了子无状态小部件 但它不起作用 相反 我收到一条错误消息 指出在构建期间调用了 setstate 或 markneedsbuild 这是父小部件 c
  • 如何在第一列中应用文本左对齐,在其他列中应用文本右对齐

    我有一张桌子要设计 我该如何申请text align left 仅适用于第一列和text align right 对于其他列 这是我的表示例 http jsfiddle net gianlucaguarini hAv7P http jsfi
  • 在 Javascript 中克隆文件输入元素

    我有一个文件输入元素 需要在用户浏览并选择要上传的文件后进行克隆 我开始使用 obj cloneNode 一切正常 直到我尝试在 IE 中使用它 此后我尝试使用 jQuery 的克隆方法 如下所示 var tmp jQuery catego
  • Multipart._final 中的表单意外结束

    我有多个输入 当所有图像输入字段都填满时 上传工作正常 但如果其中任何一个为空 它会在我的服务器端引发错误 Unexpected end of form at mutipart 这是客户端 const handelSubmit e gt e
  • 如何使用 Unity 依赖注入 Web API 实现策略/外观模式

    如何告诉Unity WebApi依赖注入框架 在正确的控制器中注入正确的类 DI 项目容器 public class UnityContainerConfig private static IUnityContainer unityCont
  • PowerShell 3.0 中 [ordered] 的正确名称是什么?

    在 PowerShell 中 您可以使用方括号指定类型 如下所示 PS C Users zippy gt int IsPublic IsSerial Name BaseType True True Int32 System ValueTyp
  • 如何发送ctrl+z

    How do I convert ctrl z to a string 我将此作为 AT 命令发送到该计算机的连接设备 Basically I just to put some chars in a string and ctrl z in
  • GridView 丢失了对非索引位置中的项目的跟踪,并且许多项目不再显示

    我正在使用 UWP 应用程序FileInformationFactory检索文件对象的虚拟化向量 该向量被转换为FileInformation并显示在GridView 我想查询插入笔记本电脑的 SD 卡上的文件夹并比较该文件夹的虚拟化情况G
  • 恢复到特定提交而不丢失历史记录

    我知道这类问题有很多重复项 但我想打开一个新问题 因为我没有在所有其他问题中找到按照我想要的方式执行此操作的最佳方法的解释 我知道我可以通过执行以下操作来恢复并保留历史记录 git reset soft c14809fa 我想恢复devel
  • Angular2:如何在一段时间后淡出显示在Click上的box-msg

    可能是一个愚蠢的问题 但我是新手angular并且仍在学习 单击按钮时显示一条成功消息 我需要在几秒钟后淡出该消息 div class alert alert success box msg strong Link Generated st
  • 标签文本更新期间 UIImageView 位置重置

    这里发生的问题真的很奇怪 在 iOS 8 中使用 XCode 我有一个简单的 UIImageView 当我单击时它会在屏幕上移动 没问题 效果很好 我只有一个简单的方法来更新特定标签 基于一个名为 StrikesLeft 的 int 这是我
  • 添加到 UIWindow 的 UIView 中的方向

    我有一个 UIView 它应该覆盖整个设备 UIWindow 以支持我正在使用核心动画执行的图像放大 缩小效果 其中用户点击 UITableViewCell 上的按钮 然后我缩放关联的图像 缩放执行完美 我无法弄清楚为什么即使设备处于横向状
  • Ionic Events 替换为 Angular Observables

    我了解 Ionic 事件将在下一个版本中被弃用 目前 我使用事件从子组件执行父页面中的函数 这是一个例子 在我的主页中 它订阅了要刷新的事件 constructor this eventFormRefresh obj gt this fet
  • windows中_chdir和SetCurrentDirectory有什么区别?

    我应该选择其中之一而不是其他有什么区别吗 它们实现相同的结果但属于不同的API 因此它们返回结果和报告错误的方式不同 如果您已经在使用任一 API 中的其他例程 请选择该 API 如果不是 SetCurrentDirectory 更 Win
  • 当游戏对象触发触发器时在 Unity 控制台中打印消息? Unity5/2D

    我正在为学校制作一个 游戏 我需要统计选票 我使用 Unity 让角色跳上按钮来计票并继续下一个问题 这是我到目前为止所拥有的 using UnityEngine using System Collections public class
  • facecolor = 'none'(空圆圈)无法使用seaborn和.map

    我有以下代码 我试图在同一个图上绘制两组数据 标记为空圆圈 我希望在下面的地图函数中包含 facecolor none 来完成此任务 但它似乎不起作用 我能得到的最接近的是在红色和蓝色黑点周围有红色圆圈 x1 np random randn
  • 在 R Shiny 中渲染时如何将表格单元格扩展到多列?

    我有一个值的数据框 我试图将其渲染为 R Shiny 中的表格 我想要扩展某些值以占用多列 就像使用 HTML rowspan 属性一样 但是 如果我要这样做 我必须从头开始创建整个表 并且我更喜欢使用 DT 库来轻松地从我的数据表进行转换
  • 访问另一个 .cpp 文件中的 .cpp 文件中定义的全局变量[重复]

    这个问题在这里已经有答案了 考虑以下场景 我的文件 cpp const int myVar 0 全局变量 另一个文件 cpp void myFun std cout lt lt myVar compiler error Undefined