A bug in Doxygen parser?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

A bug in Doxygen parser?

Libor Bukata

I have encountered the problem with the Doxygen parser for the following

// HEADER FILE: 'test.h'


#include <vector>
#include <utility>

struct T {
         void f(const std::vector<void*>& v);
         void f(const std::pair<double, double>& p);


// SOURCE FILE: 'test.cpp'
#include "test.h"

using namespace std;

void T::f(const vector<void*>& v)       { }

void T::f(const pair<double, double>& p) { }

If you generate the documentation (BUILTIN_STL_SUPPORT is set to YES),
then you get the following warning:

Searching for member function documentation...
.../test/test.cpp:7: warning: no matching class member found for
   void T::f(const pair< double, double > &p)
Possible candidates:
   void T::f(const std::vector< void *> &v)
   void T::f(const std::pair< double, double > &p)

The problem does not occur if:

- The namespace 'std' is explicitly stated in cpp file.

- If overloading is not used, i.e. each function has a different name.


Is there a way how to deal with this issue without being inconsistent?

Is this a real bug or warning can be ignored?

Thank you for your help,

best regards, Libor Bukata.

Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Doxygen-users mailing list
[hidden email]