首页 > 代码库 > 头文件相互包含出错问题解决
头文件相互包含出错问题解决
今天写程序遇到了一个问题,花了好几个小时各种找资料都没有解决,终于皇天不负有心人还是让我给把它kill 掉了。什么问题呢?那就是头文件相互包含出错(当然之前我并不知道是这个原因),先来看代码:
Test1.h
#include "cocos2d.h" #include "Test2.h" class Test1 : public Layer { ………… Test2 *test2; };
Test2.h
#include "cocos2d.h" #include "Test1.h" class Test2 : public Layer { ………… Test1 *test1; };
如果你的代码有与上代码类似的写法,那么在编译时就会因头文件相互包含出错,Windows平台下会提示:
Mac平台下会提示:
解决办法:
Test1.h
#include "cocos2d.h" class Test2; //只是告诉编译器,需要这个类,其他功能结构等都没 class Test1 : public Layer { ………… Test2 *test2; };
Test1.cpp
#include "Test1.h" #include "Test2.h" //真正的包含 ………………
Test2.h
#include "cocos2d.h" class Test1; //只是告诉编译器,需要这个类,其他功能结构等都没 class Test2 : public Layer { …………… Test1 *test1; };
Test2.cpp
#include "Test2.h" #include "Test1.h" //真正的包含 ………………
这样修改后,问题就解决啦啦啦。。。哎,希望大家不要出现这样的错误。
头文件相互包含出错问题解决
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。