关于.h文件相互包含的一个现象
来源:互联网 发布:淘宝纯棉定义 编辑:程序博客网 时间:2024/06/06 01:17
假设现在有四个文件,内容分别如下:
test1.h
#pragma once#include "test2.h"class A{public: int function1(struct_B bb);};
test1.cpp
#include "test1.h"using namespace std;int A::function1(struct_B bb){ cout<<bb.str_a<<endl; return 1;}int main(){ struct_B bb; bb.str_a = "123"; A aa; aa.function1(bb); cin.get();}
test2.h
#pragma once#include <Windows.h>#include "string"#include "iostream"#include "test1.h"struct struct_B{ std::string str_a;};
test2.cpp
#include "test2.h"
在上面的这种情况下,vs2012编译会提示找不到标识符“struct_B”
这应该是重复包含的问题,test2.h作为被使用的部分,那么就不应该包含test1.h文件.
在每个头文件里面添加#pragma once是没有错的.
所以以后code的过程中,要更加考虑整个工程的结构.不要只要暂时实现某个功能就将头文件随意包含,当工程变得复杂繁琐以后,更改起来牵扯到的工作量将会非常大.
阅读全文
0 0
- 关于.h文件相互包含的一个现象
- 关于相互包含的头文件
- 关于头文件的相互包含
- 关于C++类中头文件相互包含时报错的解决办法
- 关于VS包含*view.h文件出现错误的解决办法
- 关于无法打开包含文件:“fstream.h” 的问题
- 关于C头文件包含include "**.h"
- C头文件相互包含的问题
- 头文件相互包含的解决
- 头文件相互包含的问题
- 头文件相互包含的问题
- 两个头文件相互包含的问题
- 头文件相互包含导致的错误
- C++头文件相互包含的问题
- 头文件相互包含的问题
- 两个头文件相互包含的问题
- C++ 头文件相互包含的问题
- 头文件相互包含的问题解决之
- 计算机的数字系统
- 计算多项式--Horner
- andorid 获取手机型号
- 多文件操作
- 学习Java中关于迭代
- 关于.h文件相互包含的一个现象
- Spark笔记——技术点汇总
- 关于MySQL修改成utf8mb4编码后启动服务报错1067的解决方法
- 微信小程序周报(第九期)-极乐科技
- Windows平台下MySQL常用操作与命令
- python操作数据库之pymysql
- Maven私服问题汇总
- HDU6060 RXD and dividing
- Java 并发编程初学习