2010-01-02 36 views
0

我被困在裏面定義它是指向另一個類 這裏我班的一個靜態指針的我做了什麼架構:停留在定義靜態指針,並用它

#busineslogic.h 
class BussinesLogic { 

private : 
static Samenamespace::otherclass_DataLogic::clsDL *DL; 
}; 

#busineslogic.cpp 
samenamespace { 
businessnamespace{ 
clsBL{ 

    Samenamespace::businessnamespace::clsBL *Samenamespace::businessnamespace::clsBL::DL; 
    } 
} 
} 

所以用上面的定義,我會得到錯誤我每次編譯代碼時,我已經嘗試過其他幾種方法來解決這個問題,但誤差不會改變不是整個問題的面貌。

我想知道我怎麼可以訪問另一個類從我的類的靜態方法,我的意思是像上面的例子,我應如何改變我的代碼?或者應該添加額外的東西?

+1

@austin權力:您可以編輯發佈並使用「代碼示例」按鈕來正確格式化源代碼。使用預覽來檢查它是否看起來應該如此。 – 2010-01-02 08:19:08

回答

3
// header: 
#include <other/b.hpp> 

namespace example { 
struct A { 
    static other::B* name; 
}; 
} 


// implementation: (.cpp) 
namespace example { 
other::B* A::name; 
} 

編輯:隨着問題的清理,它看起來像B和A都在同一個命名空間,這將簡化例如:

// header: 
#include <example/b.hpp> 

namespace example { 
struct A { 
    static B* name; 
}; 
} 


// implementation: (.cpp) 
namespace example { 
B* A::name; 
} 
+0

感謝您的答案,這是我一直在進行了兩個小時的確切點。 我有另一個問題,我來自C#和c + +不是我的主要編程語言,但我知道的c + +的基本方面可以請告訴我,如果我想學習C++的方式來解決上述問題,哪本書或來源適合我? 將我從頭開始?或者有沒有可用的快捷方式? 關於。 – 2010-01-02 08:55:04

+0

我不知道你問那裏。有幾本很好的C++書籍,例如Accelerated C++(http://www.acceleratedcpp.com/)。 – 2010-01-02 09:07:17