【发布时间】:2016-08-18 07:43:46
【问题描述】:
我有以下情况:
class_a.hpp:
#include "class_b.hpp" // is this "include" mandatory?
class class_a{
private:
class_b b;
};
class_a.cpp:
#include "class_b.hpp"
//code that uses member variables and functions from class_b
class_b.hpp:
class class_b{};
是否可以在class_a.hpp 中去掉#include "class_b.hpp"?既然只是声明,为什么我不能只使用前向声明而不包括它? (我试过但没有编译)
当然,我已将class_b.hpp 包含在class_a.cpp 中。
【问题讨论】:
标签: c++ c++11 include declaration forward-declaration