代码疑云(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 =======

posted on 2011-07-08 21:15  程序员新鲜事  阅读(170)  评论(0编辑  收藏  举报