如何解决c++中循环包含头文件的问题
来源:互联网 发布:北京网络经理薪资 编辑:程序博客网 时间:2024/06/05 06:37
今天在编译别的人写的代码时,出现 missing type specifier - int assumed. Note: C++ does not support default-int的错误。
在网上搜了一下,发现是头文件循环嵌套的问题。
之前一直以为用#ifndef就可以避免这种问题,今天才发现不行。
网上的解释是编译器在发现头文件之后会继续寻找该头文件包含的头文件,直到有一个头文件什么也没包含为止。不会理会#ifndef这个条件。所以如果循环包含,则必定导致错误。
解决的方法是,比如
a.h:
#include<b.h>
b.h:
//这里原本需要包含a.h,可以改成
class A;//声明a为一个外部类
classB
{
A *a;//记住,这里必须用指针,而不是对象,具体原因我还没弄清
....
}
//然后在b.cpp中添加a的头文件
#include<a.h>
b::b(){
a=new A();
}
这样就可以了。
- 如何解决c++中循环包含头文件的问题
- 如何解决c++中循环包含头文件的问题
- 如何解决c++中循环包含头文件的问题
- 解决C/C++ 头文件相互包含 问题的方法
- 解决C/C++ 头文件相互包含 问题的方法
- 解决C/C++ 头文件相互包含 问题的方法
- 解决VC中包含的unistd.h头文件问题
- 解决Visual C++ 中相互包含头文件的问题
- 解决Visual C++ 中相互包含头文件的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++ 中头文件相互包含引发的问题
- C/C++中头文件多次包含的问题
- android 通讯录的查看和添加
- javaweb jsp页面中实现文件下载
- .net 调用webservice 总结
- 关于std::string.length() std::string.size()
- 安装subclipse, MyEclipse10 SVN插件,link方法
- 如何解决c++中循环包含头文件的问题
- 黑马程序员_毕向东_Java基础视频教程学习笔记(七)
- MyEclipse下开发Web Service(Axis)
- 如何用git创建一个项目
- Jeecg 初级入门
- Java_SE培训笔记
- jsonp跨域请求
- Ajax通过json方式使用方法
- vc 常见链接错误归纳