猿问

关于c++的问题

替朋友问的  有哪位大神可以告知  

main.cpp

#include "global.h"

int Main(....)

{

...

}

/**file_1.cpp**/

#include "global.h"

....

/**file_2.cpp**/

#include "global.h"

...

global.h中写有所有的全局变量及其初始化值 和函数声明

在编译的时候就会出错:

first defined here

multiple definition of

原因是因为在多次包含global.h时重复定义了变量和函数。你有什么解决方法?


Dr追梦人
浏览 1281回答 2
2回答

onemoo

头文件做了“重复包含保护”吗? 就是类似于这样的代码:#ifndef XXX #define XXX ... #endif或者这个 #pragma once没有做重复包含保护的话,会出现重定义错误。
随时随地看视频慕课网APP
我要回答