[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.
|