【发布时间】:2020-04-10 07:57:23
【问题描述】:
作为前向声明的经验法则(来自“API Design for C++”,第 214 页),我只包含类的标题,如果我:
- 在我自己的类中使用该类的对象作为数据成员,或者
- 从该类继承。
在所有其他情况下,我只是转发声明类。
但是,我最近偶然使用了一个前向声明的枚举类作为类的数据成员,并且它被编译了。
这确实可以使用,还是只是一个意外的 hack(我实际上需要带有 MyEnum 定义的标题)?
// test.hpp
enum class MyEnum;
class A {
MyEnum myenum;
};
【问题讨论】:
标签: c++ forward-declaration enum-class