已经在其他文件中定义, fatal error LNK1169: 找到一个或多个多重定义的符号
定义了一个头文件,包含一个bool变量,然后在另一个类的头文件中包含了此头文件,如下所示:A.h#ifndef_A_HEADER_#define_A_HEADER_boo...
定义了一个头文件,包含一个 bool 变量,然后在另一个 类的头文件中包含了此头文件 ,如下所示:
A.h
#ifndef _A_HEADER_
#define _A_HEADER_
bool bGolbal = true;
#endif // _A_HEADER_
============================
B.h
#pragma once
#include "a.h"
class B
{
}
=============
C.cpp
#include "a.h"
#include "b.h"
int main()
{
bGolbal = false;
return 0;
}
得到如上错误,请问如何解决,谢谢!
A.h
#ifndef _A_HEADER_
#define _A_HEADER_
extern bool bGolbal;
#endif // _A_HEADER_
B.cpp
extern bool bool bGolbal;
void set()
{
bGolbal = true;
}
c.cpp
bool bGolbal;
void main()
{
bGolbal = FALSE;
class B b;
b.set(bGolbal);
if(b)
{
printf("1111\n");
}
else
{
printf("00000000000\n");
}
} 展开
A.h
#ifndef _A_HEADER_
#define _A_HEADER_
bool bGolbal = true;
#endif // _A_HEADER_
============================
B.h
#pragma once
#include "a.h"
class B
{
}
=============
C.cpp
#include "a.h"
#include "b.h"
int main()
{
bGolbal = false;
return 0;
}
得到如上错误,请问如何解决,谢谢!
A.h
#ifndef _A_HEADER_
#define _A_HEADER_
extern bool bGolbal;
#endif // _A_HEADER_
B.cpp
extern bool bool bGolbal;
void set()
{
bGolbal = true;
}
c.cpp
bool bGolbal;
void main()
{
bGolbal = FALSE;
class B b;
b.set(bGolbal);
if(b)
{
printf("1111\n");
}
else
{
printf("00000000000\n");
}
} 展开
3个回答
展开全部
头文件不得包含变量定义和函数体,否则被包含一次,这些变量、函数就被重新定义,从而导致这个问题。把变量定义放到一个源文件中,然后在头文件中写成
extern bool bGolbal ;
extern bool bGolbal ;
更多追问追答
追问
bool bGolbal ; 我想定义为全局变量 class B 中的某些函数会访问这个变量,并改变它 的 值,
您说的,我试了一下,因该是我没有理解清楚,能否详细说明一下,谢谢 !
追答
我说的很清楚了,你怎么试的,遇到什么错误了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询