2011-02-07 164 views
0

我正在充实我的模块的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把链接发给H_max在功能RHO(双)的异常说明指导读者不断。但只有当我离开命名空间时才会这样做,否则自动链接不起作用。

我在做什么错?

在此先感谢。

+0

你是什么意思“我离开命名空间”?你在`:: H_max`中删除了双冒号前缀吗? – 2011-02-07 17:12:39

+0

@Antonio:当我删除“namespace isa {”和相应的右大括号。 – Arne 2011-02-08 07:07:20

回答

0

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

::H_max标识在全局名称空间中定义的符号,即在任何名称空间之外。我害怕 - 如果我错了,请纠正我 - 你在哪里期望它的行为与父目录..标识符一致。

当doxygen处理您提供的代码片段时,它在异常描述中不链接::H_max,因为它在全局名称空间中找不到H_max变量。如果您删除双冒号前缀,它应该提供一个链接到。