2012-01-13 98 views
-1

我有一个头 “myhead” 包括两个命名空间:命名空间包括CPP文件具有相同名称的功能

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 
} 
+0

你能告诉我们你的主? – 2012-01-13 17:18:24

+0

你是什么意思“它永不执行”,编译器错误?或者你正在做某件事,但它没有被打印在屏幕上? – 2012-01-13 17:19:10

+0

这是不可能的,它必须执行**,除非程序在被调用之前终止,你是否尝试调试或者执行某些操作? – 2012-01-13 17:25:35

回答

0

你的CPP文件应该是这个样子:

#include "myHead" 

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

namespace B { 
fnc() {...} 
} 
相关问题