【发布时间】:2012-04-25 19:49:30
【问题描述】:
我正在尝试使用分离的 .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,但我得到了同样的错误。我的代码有什么问题?
【问题讨论】:
标签: c++ linker redefinition