使用INHERIT_DOCS,我可以将文档的抽象基类函数复制到派生类文档中。
但是,我已经将抽象函数添加到成员组中,而成员组确实出现在派生类文档中时,它们却显示为空。重写的函数出现在派生类文档的“公共成员函数”部分中。
这是一个代码示例,我使用默认生成的Doxyfile(使用Doxygen 1.8.15)运行:
//! Base class.
class BaseClass
{
public:
//! @name funcGroup
//@{
//! absFunc brief.
virtual void absFunc () = 0;
//@}
};
//! Derived class 1.
class DerivedClass1 : public BaseClass
{
public:
void absFunc () override {}
};
尽管DerivedClass1::absFunc
成员组确实出现在文档中,但结果是BaseClass::absFunc
包含funcGroup
的简介,但不在funcGroup
成员组中。
我使用SUBGROUPING,INLINE_GROUPED_CLASSES,DISTRIBUTE_GROUP_DOC和GROUP_NESTED_COMPOUNDS设置都没有成功。其实我都可以
但是让他们空组很烦人。
这是我尝试过的其他一些方法,但没有成功:
//! Derived class 2.
class DerivedClass2 : public BaseClass
{
public:
//! \ingroup funcGroup
void absFunc () override {}
};
//! Derived class 3.
class DerivedClass3 : public BaseClass
{
public:
//! \addtogroup funcGroup
void absFunc () override {}
};
//! Derived class 4.
class DerivedClass4 : public BaseClass
{
public:
//! @name funcGroup
//! A description of the group.
//! @{
void absFunc () override {}
//! @}
};
最后一个变体创建了另一个名为funcGroup的成员组,该成员组包含我的函数,但保留了空的成员组。
This question seems relevant,但这是几年前的事,我不确定此后是否有任何变化。
任何帮助将不胜感激-理想情况下,除非明确覆盖,否则覆盖将出现在其基类的组中。也许这就是行为,我正在犯一个错误...