刚才遇到个很奇怪的问题,到现在还没想明白,来这里记录一下。

在A.h中定义了一个类ClassA,然后在B.h中有使用这个类。使用方式为:

#include "A.h"
Class B {void foo(ClassA* A);
};

然后编译的时候居然告诉我不认识ClassA这货。搞的我上下折腾了好久。

后来居然在B.h中添加了ClassA的声明:

ClassA;

就好了。

到现在还是百思不解。

按理说应该是 #include 的功能比 Declaration 的功能强才对啊。

谁路过这里,顺便帮我解释一下~

Tks~

转载于:https://www.cnblogs.com/bouygues/archive/2012/06/25/4480001.html

include *.h 和 declare class *; 的区别?相关推荐

  1. spring.profiles.include 跟 spring.profiles.active 的区别

    spring.profiles.include 跟 spring.profiles.active 的区别 背景 我们经常看到springboot的 spring.profiles.active,有时也 ...

  2. php中include和require,在PHP中include和require到底有什么区别呢?

    在PHP中include和require到底有什么区别呢?看这里的例子就知道了 include.php3的运行结果是: 这是inc1.inc文件中的一个变量的值! 这是inc2.inc文件中的一个变量 ...

  3. df -h和df -lh的区别

    df -h和df -lh的区别 Linux查看文件命令,df -lh只查看本地空间的存储情况,df -h查看所有文件空间的存储情况,如果有连接远程存储,也可以查看到. 推荐使用 df -h.

  4. .h和.c文件的区别到底是什么(精确讲解)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:      1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先 编译成 ...

  5. string/string.h/cstring头文件的区别摘要

    1. #include <cstring>   //不可以定义string s:可以用到strcpy等函数 using   namespace   std; #include <st ...

  6. .h 与.hpp文件的区别

    hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译.而实现代码将直接 ...

  7. 转.h和.cpp文件的区别

    关于头文件和源文件的分别 首先,我们可以将所有东西都放在一个.cpp文件内. 然后编译器就将这个.cpp编译成.obj,obj是什么东西? 就是编译单元了.一个程序,可以由一个编译单元组成, 也可以有 ...

  8. Sql Server之旅——第七站 复合索引和include索引到底有多大区别?

    索引和锁,这两个主题对我们开发工程师来说,非常的重要...只有理解了这两个主题,我们才能写出高质量的sql语句,在之前的博客中,我所说的索引都是单列索引...当然数据库不可能只认单列索引,还有我这篇的 ...

  9. include引用php,php使用include 和require引入文件的区别

    最近有小伙伴,提问了有关于require_once的有关问题,对于程序中遇到的问题,无聊难度大小,只要bug存在就还值得我们去探索,去解决.针对这个问题,我把include和require的详细用法进 ...

最新文章

  1. Java常用命令及Java Dump
  2. docker rails mysql_MySQL 进行 Docker 容器化之体验与感悟
  3. Wireshark抓包工具使用教程以及常用抓包规则
  4. Squid部署文档一
  5. 动态生成能够局部刷新的验证码【AJAX技术】---看了不懂赔你钱
  6. 无止境的内存优化——停不下的循环
  7. 计算机丢失tlps,win7系统下PS提示计算机丢失tlpsplib10.dll文件的解决方法
  8. 阿里云视频点播解决方案使用教程
  9. ubuntu默认root密码
  10. linux伙伴系统接口,Linux伙伴系统(一)--伙伴系统的概述
  11. 18f458中断入口C语言_操作系统开发之——中断
  12. 计算机小键盘价格,带小键盘的笔记本电脑是多少寸
  13. MVC中用Jquery、JS和Ajax 实现分页 存储过程是用mysql写的。
  14. (1)-使用json所要用到的jar包下载
  15. C++ 以智能指针管理内存资源
  16. iOS开发之UI控件阴影效果
  17. Mysql + keepalived 实现双主热备读写分离
  18. ArcGIS教程:Arcmap技巧总结
  19. netty 权威指南~第11章——WebSoket协议开发
  20. 【统计学】相关性和因果关系

热门文章

  1. ListView实现倒序显示
  2. 获取Windows Shell的简单示例程序二
  3. vi在一般指令模式下几个实用的命令
  4. 头插法建立单链表学习总结
  5. MFC源码不能设置断点调试
  6. stm32学习笔记----双串口同时打开时的printf()问题
  7. 闲聊位置之 POI数据
  8. 【转】关于eclipse和javac编译结果不一致的问题的分析与解决
  9. 沈阳招聘.NET(C#)高级软件工程师
  10. git 创建 本地 裸 仓库