知道cpp中的命名空间

时间:2013-02-25 08:57:48

标签: c++ doxygen

我们有一个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”指令吗?

修改

1 个答案:

答案 0 :(得分:0)

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