头文件x.h中只能包含变量声明和函数声明
不能含有任何变量的定义或函数的定义,否则当该头文件x.h被多处include时产生不同的对象文件a.o和b.o时不会出错,
但当连接器链接a.o和b.o来产生exe是会出现multiple definition of 重复定义的问题
所有头文件里添加#ifndef宏,并不能解决该问题
#ifndef _INCLUDE_NTREG_H
#define _INCLUDE_NTREG_H
只能保证在一个源文件中不会重复多次引用。
- 头文件.h中不适宜定义变量,我们都知道定义全局变量的常规使用方法是在.cpp文件中定义变量,在.h文件中用extern申明
- 在头文件的函数定义前加上inline也可解决问题