2012-01-13 97 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() {...} 
} 
相關問題