C++ Doxygen`@code`块中的链接有时会丢失
我注意到,当默认构造函数不带参数,但在构造函数接受参数时,Doxygen可以链接实例中的成员函数调用,但无法链接它们C++ Doxygen`@code`块中的链接有时会丢失,c++,doxygen,C++,Doxygen,我注意到,当默认构造函数不带参数,但在构造函数接受参数时,Doxygen可以链接实例中的成员函数调用,但无法链接它们 为什么呢 是否有在@code/@endcode块中手动添加链接的解决方法 在以下示例中: t.foo()-foo()已链接 u.foo()-foo()未链接 /**@文件doxy.cpp*/ /**结构T*/ 结构T{ /**福*/ void foo(){} }; /**结构单元*/ 结构单元{ int a;/**
- 为什么呢
- 是否有在
/@code
块中手动添加链接的解决方法@endcode
-t.foo()
已链接foo()
-u.foo()
未链接foo()
/**@文件doxy.cpp*/
/**结构T*/
结构T{
/**福*/
void foo(){}
};
/**结构单元*/
结构单元{
int a;/**
我认为这是Doxygen已知问题的症状。从
在某些情况下,多余的大括号会混淆doxygen。例如:
void f (int);
被正确解析为函数声明,但
const int (a);
也被视为名为int的函数声明,
因为只分析语法,不分析语义。如果
可以检测到冗余大括号,如中所示
int *(a[20]);
然后,doxygen将删除大括号并正确解析结果
所以在这种情况下,我相信:
U u(42);
被解释为函数而不是变量声明
不幸的是,我不知道在代码块中显式添加链接的任何选项。我发现的唯一解决方法是重新构造代码,使声明看起来不像是Doxygen的函数。例如,将变量初始化更改为:
U u = U(42);
允许Doxygen将u
识别为变量而不是函数
U u = U(42);