我们有一个使用 doxygen 记录的 c++ 项目,只将 doxygen 注释放在类的标题中,我们在 cpp 中记录静态函数。
我们的 doxygen 配置文件收集项目内的任何头文件 /hpp) / implementation /cpp) 文件。此外,我们有相当多的独立组件(和外部组件)被隔离在命名空间内。
该项目以我们使用多态的方式完成(由于代理模式的广泛使用)
由于这是一种常见的做法,我们禁止在头文件中使用 using指令,并在实现文件中使用它。
通常,我们在标题中:
/**
* @brief
* test from A
*/
void f(N1::N2::A);
/**
* @brief
* test from A
*/
void f(N1::N2::B);
在实现内部,我们有
using namespace N1::N2;
void f(A) { }
void f(B) { }
运行 doxygen 时,他似乎很困惑并产生错误消息:
warning: no uniquely matching class member found for f(A)
possible candidates:
void f(N1::N2::A)
void f(N1::N2::B)
知道如何摆脱这些错误并使 doxygen 了解“使用”指令吗?
编辑