引用命名空间中声明的静态const变量

时间:2011-02-07 14:55:41

标签: doxygen

我正在充实我的模块的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的链接,以引导读者到常量。但只有当我放弃命名空间时才会这样做,否则自动链接不起作用。

我做错了什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

好的,所以这里的问题不是doxygen错误的行为,而是对全局命名空间前缀::如何工作的误解。

::H_max标识在全局命名空间中定义的符号,即任何命名空间中的符号。我担心 - 如果我错了,请纠正我 - 你希望它表现为父目录..标识符。

当doxygen处理您提供的代码段时,它不会在异常描述中链接::H_max,因为它无法在全局命名空间中找到H_max变量。如果删除双冒号前缀,则应提供指向isa::H_max的链接。