[Doxygen-users] A bug in Doxygen parser?
Brought to you by:
dimitri
From: Libor B. <buk...@fe...> - 2017-02-21 15:10:38
|
Hi, I have encountered the problem with the Doxygen parser for the following code: // HEADER FILE: 'test.h' #ifndef HLIDAC_PES_TEST_H #define HLIDAC_PES_TEST_H #include <vector> #include <utility> struct T { void f(const std::vector<void*>& v); void f(const std::pair<double, double>& p); }; #endif // 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. Questions: 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. |