C++报错:全局变量重定义或是多次定义

Posted qiang-upc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++报错:全局变量重定义或是多次定义相关的知识,希望对你有一定的参考价值。

如何在C++中定义全局变量时避免重复定义呢? 只要在定义时尽量在.cpp文件中进行,而不要在.h 文件中定义,定义好了之后,可以在.h文件中利用extern关键字进行声明。

如果在.h文件中定义的话,多层包含就可能会引起重复定义的错误。下面通过一个示例为大家展示。

  在base.cpp中定义全局变量

  base.cpp

  int g_MaxTime;

  int g_MinTime;

  int g_MaxCount;

  int g_MinCount;

  base.h

  extern int g_MaxTime;

  extern int g_MinTime;

  extern int g_MaxCount;

  extern int g_MinCount;

然后其他文件要使用这些变量的时候

只要#include "base.h"就可以了,而且不会引起重复定义的错误

-------------------------------------------------------------------------------------------

原文:https://blog.csdn.net/u013015629/article/details/52911398

以上是关于C++报错:全局变量重定义或是多次定义的主要内容,如果未能解决你的问题,请参考以下文章

typescript怎么定义全局的函数

C++找到一个或多个多重定义的符号

解决头文件中定义全局变量MSVCGNU编译器出现重定义问题

包括一个类来定义一个全局变量参数 c++ :(

全局变量怎么定义

JS中全局变量和window自定义属性的区别