我甚至可能沒有正確地提出問題,但這是我的情況。我有一個名字空間,我想把所有的全局函數放在這個名字空間中。我想將它們全部定義在相應的.cpp文件中。這些函數中的許多函數都可以訪問非全局類的實例,這些實例可能自身也可能不是名稱空間的成員。我可以轉發聲明這些類,但是當我嘗試調用類方法時,我當然仍然會收到鏈接器錯誤。一個(看起來很糟糕的)解決方案是定義這些全局變量之後已經定義了相應的類,但是這會在不同的文件中放入不同的函數,我想不惜一切代價避免這種情況,這樣做似乎是非常錯誤的。如何將全局函數全部訪問到非全局類?
我還能做什麼?我想我在這裏有一個概念問題,什麼樣的設計策略可能有助於解決這個問題?我必須讓它們成爲相應類的靜態成員嗎?我不喜歡這個B/C我的類有很長的名字,但我的命名空間名稱很短...所以只需使用typedef?但從概念上講,這些都是全球性的功能,所以我想保持這種方式...感謝您的考慮。
簡單地說`#include'頭文件到你的「全局」源文件中有什麼問題? – 2011-02-08 16:47:30