在两个cpp文件的标头中共享定义的全局变量

我对能够在两个cpp文件中共享定义的全局变量感兴趣。以下可能吗?我对此感兴趣,以避免必须多次初始化全局共享变量。我无法构建此代码。在这种情况下,您如何建议声明/定义myMap?

MapHeader.h

#ifndef _MAP_HEADER_
#define _MAP_HEADER_

    #include <string>
    #include <map>
    using namespace std;

    extern const map<int, string> myMap = {{100 , "one hundred"}, {200,"two hundred"}, {300,"three hundred"}};

#endif // _MAP_HEADER_

FirstFile.h

#ifndef _FIRST_FILE_
#define _FIRST_FILE_

    #include "MapHeader.h"
    #include <iostream>
    #include <string>
    using namespace std;

    void myFunction1();

#endif

FirstFile.cpp

#include "FirstFile.h"

void myFunction1(){
    cout << "myFunction1()" << myMap[100] << endl;
}

SecondFile.h

#ifndef _SECOND_FILE_
#define _SECOND_FILE_

    #include "MapHeader.h"
    #include <iostream>
    #include <string>
    using namespace std;

    void myFunction2();

#endif

SecondFile.cpp

#include "SecondFile.h"

void myFunction2(){
    cout << "myFunction2()" << myMap[200] << endl;
}

Main.cpp

#include "FirstFile.h"
#include "SecondFile.h"

int main()
{
    myFunction1();
    myFunction2();
    return 0;
}

我收到错误消息:

错误:将“ const std :: map <>”作为“ std:map <>”的“ this”参数传递.....

莎拉

在MapHeader.h中,将定义更改为extern map myMap。然后将您在MapHeader.h中所定义的定义完全移到.cpp之一中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何定义稍后在 Julia 中共享的全局变量

来自分类Dev

在整个包中共享全局变量

来自分类Dev

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

来自分类Dev

如何使两个函数共享相同的非全局变量(Python)

来自分类Dev

类的两个实例在 Python 中共享相同的变量

来自分类Dev

在标头中声明全局变量`extern const int`,但在源文件中声明仅`int`

来自分类Dev

为什么标头中的全局变量ofstream不能用C ++编写文件?

来自分类Dev

如何在不使用Java中的全局变量的情况下在两个类之间共享变量?

来自分类Dev

C ++:在标头中声明非全局变量?

来自分类Dev

使用全局变量合并两个POST

来自分类Dev

删除两个函数使用的全局变量

来自分类Dev

ld:在标头中定义全局变量时,体系结构x86_64的符号重复

来自分类Dev

在.c文件之间共享全局变量

来自分类Dev

在.c文件之间共享全局变量

来自分类Dev

在两个集合中共享一个参考变量

来自分类Dev

在两个不同的标头中声明相同的名称空间,然后在一个cpp中包含它们

来自分类Dev

从文件输入C ++定义全局变量

来自分类Dev

函数范围修改全局变量中两个变量赋值之间的差异

来自分类Dev

消除全局变量+两个函数正在使用的变量?

来自分类Dev

可以使用一个或两个全局变量吗?

来自分类Dev

如何在两个函数之间delcare一个全局变量

来自分类Dev

名称空间菜鸟问题:共享相同名称空间的两个cpp文件具有相同的变量

来自分类Dev

Python中的全局变量可在文件之间共享变量

来自分类Dev

Python中的全局变量可在文件之间共享变量

来自分类Dev

两个源文件之间的变量(类和全局)

来自分类Dev

使用两个不同的函数后,全局变量不会保持其状态

来自分类Dev

如何从JavaScript中的函数内部更改两个不同的全局变量

来自分类Dev

尝试在函数中添加两个全局变量时出现语法错误

来自分类Dev

如何理解通过两个线程递增和打印全局变量的结果?

Related 相关文章

  1. 1

    如何定义稍后在 Julia 中共享的全局变量

  2. 2

    在整个包中共享全局变量

  3. 3

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

  4. 4

    如何使两个函数共享相同的非全局变量(Python)

  5. 5

    类的两个实例在 Python 中共享相同的变量

  6. 6

    在标头中声明全局变量`extern const int`,但在源文件中声明仅`int`

  7. 7

    为什么标头中的全局变量ofstream不能用C ++编写文件?

  8. 8

    如何在不使用Java中的全局变量的情况下在两个类之间共享变量?

  9. 9

    C ++:在标头中声明非全局变量?

  10. 10

    使用全局变量合并两个POST

  11. 11

    删除两个函数使用的全局变量

  12. 12

    ld:在标头中定义全局变量时,体系结构x86_64的符号重复

  13. 13

    在.c文件之间共享全局变量

  14. 14

    在.c文件之间共享全局变量

  15. 15

    在两个集合中共享一个参考变量

  16. 16

    在两个不同的标头中声明相同的名称空间,然后在一个cpp中包含它们

  17. 17

    从文件输入C ++定义全局变量

  18. 18

    函数范围修改全局变量中两个变量赋值之间的差异

  19. 19

    消除全局变量+两个函数正在使用的变量?

  20. 20

    可以使用一个或两个全局变量吗?

  21. 21

    如何在两个函数之间delcare一个全局变量

  22. 22

    名称空间菜鸟问题:共享相同名称空间的两个cpp文件具有相同的变量

  23. 23

    Python中的全局变量可在文件之间共享变量

  24. 24

    Python中的全局变量可在文件之间共享变量

  25. 25

    两个源文件之间的变量(类和全局)

  26. 26

    使用两个不同的函数后,全局变量不会保持其状态

  27. 27

    如何从JavaScript中的函数内部更改两个不同的全局变量

  28. 28

    尝试在函数中添加两个全局变量时出现语法错误

  29. 29

    如何理解通过两个线程递增和打印全局变量的结果?

热门标签

归档