地图数据结构在 Main 中不显示保存的条目.cpp

map data structure doesn't show saved entries in main.cpp

本文关键字:保存 cpp 显示 数据结构 Main 地图      更新时间:2023-10-16

我找不到与此相关的任何问题,也许是因为我不知道如何完全放置它。因此,我是在标题文件中使用静态关键字创建映射,然后在源文件中保存条目。我在源文件中测试了地图,并成功保存了条目。但是,当我在main.cpp文件中调用地图以打印条目时,地图为空。谁能以一种方式帮助我,以便地图在主机中列出时保留了条目?

我认为,要使条目将保留在地图直到程序结束之前,但我似乎不知道其他方式。谢谢。

用"存储类"静态在名称空间中的静态定义时,它具有内部链接。因此,在您的情况下,每个编译单元都有自己的地图对象。

来自C (2014)标准(3.5程序和链接)

3具有名称空间范围(3.3.6)的名称具有内部链接如果是 (3.1)的名称

- 的变量,函数或功能模板是明确的 声明为静态;或,

...

您应该在标题中使用关键字extern(而不是static)声明地图,并且在一个源文件中定义对象。