当 const 在另一行时,Doxygen 错误地解析 const 成员函数

Doxygen parse const member function incorrectly when const at another line

我尝试在官方网站上搜索 Whosebug 和 users mailing list 但没有找到对我的问题有用的东西,有很多结果无关...

我用的Doxygen是1.8.5版本

我更喜欢这样设计我的成员函数声明,让我们称呼它吧 const-at-another-line 样式。

ReturnType
FunctionName()
const;

我知道大多数人只是使用同一种风格,

ReturnType FunctionName() const;

或者只是return-type-at-another-line style

ReturnType
FunctionName() const;

对于同行风格和return-type-at-another-line 风格,doxygen 可以正确解析。

然而,const-at-another-line 样式的文档会导致成员数据 名为 "const",类型为 ReturnType。

class Signal : public Interface {
    bool
    HasSignal()
    const;
};

文档显示 class Signal 具有 Public 属性

bool const

成员数据文档中的详细文档显示

bool Signal::const

我也试过这些情况,纯虚函数:

bool
HasSignal()
const =0;

结果

bool Signal::const =0

和 C++11 final/override 关键字: (我还没有期望 Doxygen 完全支持 C++11 语法,只是为了比较)

bool
HasSignal()
const
override;

结果 Public 属性

bool const override

其中 "const" link 到 class Interface

中的成员数据文档
virtual bool Interface::const = 0

和 "override" link 到 class Signal

中的成员数据文档
bool const Signal::override

我的问题是: 我错过的 Doxygen 中是否有一些配置可以帮助 parse/document const 成员函数正确使用 const-at-another-line 样式? 或者我只能修改样式以适合文档用途的 Doxygen?

看起来这个问题已在 1.8.6 版及更高版本中修复(请注意,1.8.5 版于 2013 年 8 月发布,因此它相当旧)。撰写本文时的最新版本是 1.8.9.1。