title: How to document overloaded functions in Doxygen?
body: <p>I am getting a warning message when documenting overloaded functions. </p>
  
  <p>Doxygen version 1.8.7</p>
  
  <p>I have an implementation class and a header class. 
  The header class declares two virtual functions, the second of which overloads the first. </p>
  
  <p>ClassA.h </p>
  
  <pre><code>    virtual void doSomething(int i); 
      virtual void doSomething(int i,int j);`
  </code></pre>
  
  <p>The implementation class implements each virtual function, as follows </p>
  
  <p>ClassA.cpp </p>
  
  <pre><code>    void doSomething(int i) { 
      printf ("doSomething: %d", i); 
      }
  
      void doSomething(int i,int j) { 
      printf ("doSomething: %d", i); 
      printf ("doSomething: %d", j); 
      }
  </code></pre>
  
  <p>I need to document both doSomething functions in doxygen. 
  How do I do it? </p>
  
  <p>I have tried documenting the .h file as follows: </p>
  
  <p>Attempt 1:</p>
  
  <p>ClassA.h </p>
  
  <pre><code>    /*! 
      * \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);
  </code></pre>
  
  <p>Attempt 2:</p>
  
  <pre><code>    /*! 
      * \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);
  </code></pre>
  
  <p>I have also tried to document the .cpp file in the same way, with and without documenting the .h file. </p>
  
  <p>However, whichever way I try, I always get the same warning message, which is: </p>
  
  <pre><code>    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
  </code></pre>
  
  <p>Note: Ideally I would prefer to document only the .cpp file and not the .h file in order to resolve this problem. </p>