代码疑云(6)-头文件的正确定义
代码:
头文件print_tools.h
头文件counter.h
main.cpp
疑:以上代码编译时有何问题吗,是什么导致的呢?
解答:void printStr(const char*)和'void printtInt(int) 函数redefine了,道理很简单,因为在counter.h中已包含了print_tools.h,在main.cpp中又包含了print_tools.h头文件,也就是两次包含了print_toosl.h,所以也就发生了重定义错误,这是初学者常见问题,要避免这个问题,我们必须采取防范措施,就是使用预编译命令,如下作修改:
头文件print_tools.h
头文件counter.h
在一个工程项目中头文件众多繁杂,采用这个方法可以很好的避免,所以每当我们定义一个头文件时要养成如此的良好习惯。
======= welcome to my HomePage(http://blog.csdn.net/zhanxinhang) to have a communication =======