include "*.h" 和 declare class *; 的区别?
刚才遇到个很奇怪的问题,到现在还没想明白,来这里记录一下。在A.h中定义了一个类ClassA,然后在B.h中有使用这个类。使用方式为:
#include "A.h"Class B { void foo(ClassA* A); };然后编译的时候居然告诉我不认识ClassA这货。搞的我上下折腾了好久。
后来居然在B.h中添加了ClassA的声明:
ClassA;
就好了。
到现在还是百思不解。
按理说应该是 #include 的功能比 Declaration 的功能强才对啊。
谁路过这里,顺便帮我解释一下~
Tks~