我们有一个c ++项目,我们使用doxygen进行文档处理,只将doxygen注释放在类的头文件中,我们在cpp中记录静态函数。
我们的doxygen配置文件在项目中收集任何header / hpp)/ implementation / cpp)文件。另外,我们在命名空间内隔离了很多独立的组件(和外部组件)。
项目以我们使用多态的方式完成(由于广泛使用代理模式)
由于这是一种常见做法,我们禁止在标题内使用使用指令,我们在实现文件中使用它。
通常,我们有标题:
/**
* @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了解“using”指令吗?
修改
答案 0 :(得分:0)
没有找到解决方法,我们在实现中恢复使用完整命名空间以与标头定义完全匹配。标记为关闭,我的损失:-( 在问题中查看评论/编辑可能有助于读者