Kurzversion
nicht verwendeten Funktionsparameter UmgangUm den Compiler aus der Aufnahme eine Warnung über nicht verwendete Variablen definiere ich das Makro UNUSED
zu verhindern, wie:Doxygen: mit „nicht verwendet“ Makro
UNUSED(x)=x __attribute__((__unused__))
Dieses Makro dann verwendet wird, in einigen Prototypen Funktionen, zum Beispiel:
void ext(int foo, int UNUSED(bar))
Allerdings ist doxygen unglücklich darüber und gibt einige Warnungen:
/tmp/sandbox/main.cpp:13: warning: argument 'bar' of command @param is not found in the argument list of Dummy::ext(int foo, intUNUSEDbar)
/tmp/sandbox/main.cpp:13: warning: The following parameters of Dummy::ext(int foo, intUNUSEDbar) are not documented:
parameter 'UNUSED'
Wie soll ich doxygen sagen, um das UNUSED
Makro zu ignorieren?
Lange Version
Ich habe einen Code, der wie folgt aussieht:
#include <iostream>
class Dummy
//! Dummy class
{
public :
//!Dummy function
/**
* \param foo First variable
* \param bar Second variable
*/
void ext(int foo, int UNUSED(bar))
{
std::cout << "foo = " << foo << std::endl;
}
};
//!Main function
int main(void)
{
Dummy MyDummy;
MyDummy.ext(1, 2);
return 0;
}
ich es kompilieren durch den Aufruf:
g++ -D 'UNUSED(x)=x __attribute__((__unused__))' main.cpp
die Standard doxygen Konfigurationsdatei Doxyfile
I genannt zu generieren Geben Sie ein:
doxygen -g
Schließlich wird die Dokumentation zu erzeugen, I ein:
doxygen Doxyfile
letzteren Befehl gibt die folgende Warnung:
/tmp/sandbox/main.cpp:13: warning: argument 'bar' of command @param is not found in the argument list of Dummy::ext(int foo, intUNUSEDbar)
/tmp/sandbox/main.cpp:13: warning: The following parameters of Dummy::ext(int foo, intUNUSEDbar) are not documented:
parameter 'UNUSED'
Haben Sie sich den Preprozessor-Teil des Handbuchs angesehen? Vielleicht könnte ein PREDEFINED in der Doxyfile von UNUSED (x) helfen – albert
Ich habe gerade einen Blick auf [doxygens Dokument zur Vorverarbeitung] geworfen (http://www.stack.nl/~dimitri/doxygen/manual/preprocessing.html): tatsächlich Es ist alles dort erklärt! Danke für den Tipp ! –