2013-03-29 45 views
0

例如,我有一個丫頭文件,並有一個類聲明中它,如:如何解析嵌套名稱說明符?

class A { 
public: 
    struct Node { 
     int val; 
    }; 
private: 
    B* b; 
}; 

它包括類B的一個指針,它在了Bh文件中定義:

class B { 
public: 
    A::Node* node_new() { ***}; 
}; 

當我編譯項目時,會出現「嵌套名稱說明符」錯誤。如何解決它?

+0

你不覺得這會在兩者之間創建一個永不結束的遞歸關係嗎? –

+0

有前向聲明(A.h中的B的decl和A.h中的B.h)? – ForEveR

+0

wtb a .cpp文件。我想你會需要一個。 – WhozCraig

回答

3

是啊包括#包括「波黑」和bh包括的#include「啊」

因此,它是無窮遞歸這裏......您應該A.h文件中使用着B類的聲明,包括A.hB.h,所以,這應該工作正常。

+0

是的,它使用你的方法。非常感謝! – injoy