2010-09-26 152 views
4

一點點noob問題: 我需要類A和B,使A有一個B *成員和B有一個A *成員。C++遞歸數據類型

編譯時我得到「錯誤:ISO C++禁止聲明'B'沒有類型」。我怎樣才能解決這個問題?

回答

10

正向聲明B(或A)

class B; //forward declaration of B 

class A 
{ 
    B *b; 
}; 

class B 
{ 
    A *a; 
}; 
6

正向聲明類中的一個或b。

class b; //forward declaration 

class a{ 
//class a stuff 
b* ptrtoB; 

}; 


class b{ 
//class b stuff 
a* ptrtoA; 

}; 
2

你可以,如果沒有其他人在使用它也內嵌着申報的一類:class B* pMemberB;人拉空調風格