小编vol*_*zer的帖子

LNK2005:"已定义错误

我试图从分离的.cpp文件中使用全局变量.我有一个init.h文件:

//init.h
#ifndef init
#define init
int a = 3;
#endif
Run Code Online (Sandbox Code Playgroud)

我有一个init.cpp文件: //init.cpp #include init.h

最后我的main.cpp文件是:

//main.cpp
#include "init.h"
int main(void)
{
    while(1)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

在此之后,我收到错误:

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
Run Code Online (Sandbox Code Playgroud)

为什么我的#infdef控件无法解决这个问题?我也试过使用,#pragma once但我得到了同样的错误.我的代码出了什么问题?

c++ linker redefinition

3
推荐指数
1
解决办法
2133
查看次数

标签 统计

c++ ×1

linker ×1

redefinition ×1