名称空间,包括cpp文件中具有相同名称的函数

时间:2012-01-13 17:14:41

标签: c++ namespaces overloading

我有一个标题“myhead”,包括两个名称空间:

namespace A {

    void fnc(T arg);
}

namespace B {

    void fnc();
}

我也有一个cpp文件:

#include "myHead"

A::fnc(T arg) {...}
B::fnc() {...}

它永远不会执行B:fnc();虽然我在main中用它的名字命名它。执行时,我的意思是B::fnc()永远不会被调用。这是因为函数重载吗?如果是这样,如果使用其命名空间定义的函数怎么可能?没有编译错误。

主:

void main {

    ...
    A::fnc(arg);
    B::fnc();    // this never gets executed
}

1 个答案:

答案 0 :(得分:0)

您的cpp文件应如下所示:

#include "myHead"

namespace A {
  fnc(T arg) {...}
}

namespace B {
 fnc() {...}
}