因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义
如:extern int ival =10;double fica_rate;这些都是不应该有的;
但是还有三个例外:
1、头文件可以定义类;
2、值在编译时就已知道的const对象;
3、inline函数;
这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。在头文件中定义这些实体,是因为编译器需要他们的定义来产生代码。
因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义
如:extern int ival =10;double fica_rate;这些都是不应该有的;
但是还有三个例外:
1、头文件可以定义类;
2、值在编译时就已知道的const对象;
3、inline函数;
这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。在头文件中定义这些实体,是因为编译器需要他们的定义来产生代码。