Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12876799
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: C/C++

2014-05-15 10:56:02

转自博客:
http://blog.csdn.net/hudaweikevin/article/details/4003353

申明全局变量,全局函数一定要在cpp中申明

其他类引用该全局变量就include该cpp的h文件

然后extern一下就好了

否则容易出现该重复定义错误

这个"容易"是如何解释的呢?

例如A.h中如果申明了全局变量int Global;

在B.h中include "A.h"

              extern int Global;

则你include A.h相当于把A.h中全局变量的申明也include进来了,编译器就会认为是重复定义

所以全局变量和函数申明一定要在cpp中 

 

当.h文件里有函数实现时
VS2005编译器报此错误,
解决方法 
1.在.h里的函数声明前加 inline
2.在项目->属性->链接器->命令行->附加选项中加   /force 

阅读(7295) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~