如何在Doxygen中记录重载函数?

时间:2015-04-22 15:09:52

标签: c++ function overloading doxygen

记录重载函数时,我收到一条警告消息。

Doxygen版本1.8.7

我有一个实现类和一个头类。 头类声明了两个虚函数,第二个虚函数重载第一个。

ClassA.h

    virtual void doSomething(int i); 
    virtual void doSomething(int i,int j);`

实现类实现每个虚函数,如下所示

ClassA.cpp

    void doSomething(int i) { 
    printf ("doSomething: %d", i); 
    }

    void doSomething(int i,int j) { 
    printf ("doSomething: %d", i); 
    printf ("doSomething: %d", j); 
    }

我需要在doxygen中记录doSomething函数。 我该怎么做?

我已尝试将.h文件记录如下:

尝试1:

ClassA.h

    /*! 
    * \fn void doSomething(int i) 
    * do something with i 
    */ 
    virtual void doSomething(int i); `

    /*! 
    * \fn void doSomething(int i, int j) 
    * do something with i and j 
    */ 
    virtual void doSomething(int i,int j);

尝试2:

    /*! 
    * \fn void doSomething(int i) 
    * do something with i 
    */ 
    virtual void doSomething(int i); 

    /*! 
    * \overload void doSomething(int i, int j) 
    * do something with i and j 
    */ 
    virtual void doSomething(int i,int j);

我还尝试以相同的方式记录.cpp文件,包括和不记录.h文件。

但是,无论我尝试哪种方式,我总会得到相同的警告信息,即:

    ClassA.cpp: warning: no uniquely matching class member found for void doSomething(int i) 
    Possible candidates: 
    virtual void doSomething(int i) at line 123 of file ClassA.h 
    virtual void doSomething(int i, int j) at line 135 of file Class.h

    ClassA.cpp: warning: no uniquely matching class member found for void doSomething(int i,int j) 
    Possible candidates: 
    virtual void doSomething(int i) at line 123 of file ClassA.h 
    virtual void doSomething(int i, int j) at line 135 of file Class.h

注意:理想情况下,我更愿意仅记录.cpp文件而不记录.h文件以解决此问题。

1 个答案:

答案 0 :(得分:1)

你在Doxygen中有一个\overload功能,允许你