Doxygen文档中如何处理C++类模板

9

我正在尝试记录以下内容:

template <class T, int NDim>
class myClass {

public:
.
.

这里是Doxygen文档。
/*!
 * \class myClass<T, NDim>
 * \brief Defines a class for stuff. 
*/

生成的结果如下:

myClass类参考

定义了一个用于处理事物的类。

所以我缺少模板信息,但这并不是世界末日,因为我知道doxygen不能很好地处理模板。主要问题是在生成过程中出现了警告:

myClass.h:2: 警告:作为\class、\struct、\union或\include命令参数提供的名称“T”不是输入文件

我该如何解决这个警告?

1个回答

12
据我所知,不需要明确指定\class,doxygen会自动检测类名,只要在模板类声明之前立即放置文档注释即可。
/** << NOTE
 * \brief Defines a class for stuff. 
 * \tparam T Type to work with.
 * \tparam NDim Number of dimensions.
 */
template <class T, int NDim>
class myClass {

public:
.
.
};

要指定模板参数的文档,请使用\tparam

还要注意:doxygen将解释使用<>作为内联HTML标记。请改用\<\>


如果我刪除\class,則不會為該類生成HTML文件。 - ldgorman
3
奇怪,我一直在使用如示例所示的方式,但不确定是否因为doxygen注释块的起始方式不同(我使用/**而不是/*!)。 - πάντα ῥεῖ
优秀,将注释块分隔符更改为 /** 似乎已经解决了问题。谢谢。 - ldgorman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接