【问题标题】:Doxygen enum in namespace命名空间中的 Doxygen 枚举
【发布时间】:2012-10-18 18:26:48
【问题描述】:
我正在编写文档哦,这段代码:
namespace A {
enum ENUM
{
/// \var step to frame
ENUM_1 = 0, //!< val1
ENUM_1 = 1, //!< val2
ENUM_2 = 2 //!< val3
};
}
结果,ENUM 的 cmets 值不显示。
当我删除命名空间时,一切都很好,但现在没有
【问题讨论】:
标签:
c++
enums
namespaces
doxygen
【解决方案1】:
你必须使用这种格式:
namespace A {
/*!
* \addtogroup A
* @{
*/
/// step to frame
enum ENUM
{
ENUM_1 = 0, //!< val1
ENUM_1 = 1, //!< val2
ENUM_2 = 2 //!< val3
};
/*! @} */
}
【解决方案2】:
您将enum 文档头放置在起始位置,它应该在enum 定义的正上方:
/// \brief Step to frame
enum ENUM
{
...
};
【解决方案3】:
这是一篇旧帖子,但对于像我这样在命名空间下为全局枚举、函数等而苦苦挣扎的人来说,这里是没有\addtogroup 的简单解决方案
请务必为您的命名空间添加描述。有了这个,即使是自动链接也能完美运行。
/// this the namespace A
namespace A {
/// step to frame
enum ENUM
{
ENUM_1 = 0, //!< val1
ENUM_1 = 1, //!< val2
ENUM_2 = 2 //!< val3
};
}
对于嵌套命名空间,您应该为包含其他变量、枚举、函数等的命名空间添加描述。
namespace A {
/// this the namespace A::B
namespace B {
/// step to frame
enum ENUM
{
ENUM_1 = 0, //!< val1
ENUM_1 = 1, //!< val2
ENUM_2 = 2 //!< val3
};
}
}
顺便说一下在1.8.7
中测试