头文件中#ifndef/#define/#endif中有关定义全局变量报错

最近在写PSO算法过程中,在头文件中定义了两个全局变量:
pso算法文件结果如下:
在这里插入图片描述
在PSO.h文件中定义如下两个全局变量 :

ouble lastGlobal =0;  // 上一次迭代中种群中的最优值
double curGlobal =0;   // 本次迭代中种群中的最优值

然后在vs2015中进行编译,发现报错如下:

PSO.obj : error LNK2005: _lastGlobal already defined in main.obj
1>PSO.obj : error LNK2005: _curGlobal already defined in main.obj
1>B:\PROGRAMPROJECT\visual 2015 pro\PSO\Debug\PSO.exe : fatal error LNK1169: one or more multiply defined symbols found

回想到头文件中,开头写上了:

#ifndef _PSO_H_
#define _PSO_H_
......
...
#endif

不是说这玩意能防止重复编译?难道我记错了,于是网上一度查找,看到下面这文章的评论区。
https://blog.csdn.net/abc5382334/article/details/18052757
对
感谢大佬!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值