2017-07-07 5 views
1

Wir machen derzeit unsere Kommentare Doxygen-kompatibel, sind aber auf ein Problem mit Standardparametern gestoßen.Doxygen 1.8.13 ignoriert Parameter mit Standardwerten (C++)

Ein Beispiel wäre diese Funktion:

... 
class String : public Object 
{ 
    ... 
    /*! 
    * \brief Trim the string from the left while the characters matches any characters in the given string 
    * \param In_pChar - (optional) The array of characters to be trimmed 
    * \return The trimmed string object 
    */ 
    String& trim_left(const char * In_pChar=" \t"); 
    ... 
}; 
... 

Doxygen gerade auslässt vollständig den Parameter und sogar warnt darüber:

warning: argument 'In_pChar' of command @param is not found in the argument list of String::trim_left() 

Das resultierende HTML ist nicht wirklich das, was ich erwartet hatte : Screenshot of Doxygen HTML output

Hat jemand eine Idee, wie man das repariert?

+0

Es gab [viele Versionen von Doxygen] (http://www.stack.nl/~dimitri /doxygen/manual/changelog.html). Nach was fragst du? –

+0

@LightnessRacesinOrbit Doxygen 1.8.13. Ich habe die Frage entsprechend aktualisiert. –

Antwort

3

Ihr Problem ist fast sicher in einem Ihrer ... s oder Sie haben eine abgehört Version von Doxygen.

Der folgende Code funktioniert gut für mich:

class String : public Object                    
{                      
public:                         

/*!                          
* \brief Trim the string from the left while the characters matches any characters in the given string 
* \param In_pChar - (optional) The array of characters to be trimmed         
* \return The trimmed string object                  
*/                          
    String& trim_left(const char * In_pChar=" \t");              

};               

enter image description here

enter image description here

+0

Ich werde versuchen, es einzugrenzen. Vielen Dank. –

+0

Das mitgelieferte Beispiel funktioniert gut. Ich habe das wahre Problem noch nicht gefunden. –

+0

Deshalb habe ich gesagt, dass das Problem in Ihren '' '' 's sein könnte und warum es wichtig ist, ein [mcve] zu posten, damit der Umfang des Problems begrenzt werden kann :) – xaxxon