我正在尝试从不同的.cpp文件中使用全局变量。我已经有一个init.h文件:
//init.h
#ifndef init
#define init
int a = 3;
#endif
我有一个 init.cpp 文件,内容如下:
//init.cpp
#include init.h
最后,我的 main.cpp 文件如下:
//main.cpp
#include "init.h"
int main(void)
{
while(1)
{
}
}
在此之后,我遇到了错误:
1>init.obj : error LNK2005: "int a" (?a@@3HA) already defined in main.obj
1> ..deneme.exe : fatal error LNK1169: one or more multiply defined symbols found
为什么我的#infdef
控制器不能解决这个问题?我还尝试使用#pragma once
,但是我得到了相同的错误。我的代码有什么问题吗?