知道cpp中的命名空间

Bru*_*uce 8 c++ doxygen

我们有一个c ++项目,我们使用doxygen来记录,只在类的头文件中放入doxygen注释,我们在cpp中记录静态函数.

我们的doxygen配置文件收集项目中的任何header/hpp)/ implementation/cpp)文件.另外,我们在命名空间内隔离了很多独立的组件(和外部组件).

该项目以我们使用多态的方式完成(由于广泛使用代理模式)

由于这是一种常见的做法,我们禁止在头文件中使用using指令,我们在实现文件中使用它.

通常,我们在标题中:

/**
 * @brief
 *   test from A
 */
void f(N1::N2::A);
/**
 * @brief
 *   test from A
 */
void f(N1::N2::B);
Run Code Online (Sandbox Code Playgroud)

在实施中,我们有

using namespace N1::N2;

void f(A) { }
void f(B) { }
Run Code Online (Sandbox Code Playgroud)

运行doxygen时,他似乎很困惑并产生错误信息:

warning: no uniquely matching class member found for f(A)
possible candidates:
void f(N1::N2::A)
void f(N1::N2::B)
Run Code Online (Sandbox Code Playgroud)

任何想法如何摆脱这些错误,让doxygen知道"使用"指令?

编辑

Bru*_*uce 0

找不到解决方法,我们恢复在实现​​中使用完整的命名空间以与标头定义完全匹配。将其标记为关闭,我的损失:-( 在问题中查看评论/编辑可能会帮助读者