我正在充实我的模块的doxygen文档,并遇到了一个奇怪的问题。引用位于命名空间中的变量时,自动链接不起作用。这是一个片段:
namespace isa {
const double H_max= 10000; //!< @brief Maximum altitude in meters.
//! @brief Calculate air densitity at altitude \a H.
//! @throw argument_exception when \a H exceeds ::H_max.
double rho(double H);
} // namespace isa
我希望doxygen在函数rho(double)的异常描述中放置一个到H_max的链接,以引导读者到常量。但只有当我放弃命名空间时才会这样做,否则自动链接不起作用。
我做错了什么?
提前致谢。
答案 0 :(得分:1)
好的,所以这里的问题不是doxygen错误的行为,而是对全局命名空间前缀::
如何工作的误解。
::H_max
标识在全局命名空间中定义的符号,即任何命名空间中的符号。我担心 - 如果我错了,请纠正我 - 你希望它表现为父目录..
标识符。
当doxygen处理您提供的代码段时,它不会在异常描述中链接::H_max
,因为它无法在全局命名空间中找到H_max
变量。如果删除双冒号前缀,则应提供指向isa::H_max
的链接。