2

我一直在非常仔细地阅读有关 grouing 和 ingroup 命令的内容。它指出“组的成员可以是文件、命名空间、类、函数、变量、枚举、类型定义和定义,也可以是其他组。”

因此,我一直试图从函数内部对几个变量进行分组。该文档似乎没有说明它是哪种变量的任何规范或限制。

这是一个简单的例子:

/// \file hyperLinks.h
class hyperLinks
{
    public:

        void getEnvVars();

        // WORKS!
        /**
         *  @ingroup group2
         */
        int public_var;

    protected:
        // WORKS!
        /**
         *  @ingroup group2
         */
        int protected_var;

    private:
        int private_var;
};

// WORKS!
/**
 *  @ingroup group2
 */
int globalVarH;

以及对应的cpp文件:

/// \file hyperLinks.cpp
#include "hyperLinks.h"

/**
*  @defgroup group2 The Second Group
*  This is the second group
*/


hyperLinks::getEnvVars()
{
    // do something here

    // put this into a group2
    // ---DOES NOT WORK---
    /**
    *  @ingroup group2
    *  @brief variable inside getEnvVars()
    */
    int inFunctionVariable;

}

// works!
/**
 *  @ingroup group2
 *  @brief OUTSIDE globalVar from .cpp file in group 2
 *  @brief outside class defenition
 */
int globalVarCPP;

从上面的代码中,以下 DO 被放置在 Module->The Second Group 中:

-public_var

-protected_var

-globalVarH

-globalVarCPP

然而,函数内部的变量不会出现在组中:

-inFunctionVariable

第 5 个变量没有出现。

任何想法为什么这不起作用?如何修复它或解决方法?

此外,我已经阅读了在运行 doxygen 文档期间生成的所有消息/警告。此文件存在错误或警告。

任何帮助将不胜感激。

谢谢!

附言。Doxygen 版本 1.8.3.1

4

1 回答 1

1

Doxygen 不支持在函数体中注释元素。从在 doxygen 手册中记录代码:

对于代码中的每个实体,都有两种(或在某些情况下为三种)类型的描述,它们共同构成该实体的文档;简要说明和详细说明,两者都是可选的。对于方法和函数,还有第三种类型的描述,即所谓的主体描述,它由在方法或函数主体中找到的所有注释块的串联组成。

在您的代码示例中,文档inFunctionVariablehyperLinks::getEnvVars()函数的体内文档,并作为该项目文档的一部分出现。

于 2013-05-02T05:50:39.127 回答