2013-09-28 83 views
0

如果我有具有同一類中定義的兩個結構體可以互相訪問嗎?

struct A{ 
    B *ptr; //it says identifier undefined 
}; 
struct B{ 

}; 

兩者都在相同的類定義的兩個結構的一類的書籍。如上所述,是否可以將struct B的指針保存在struct A中? 任何人都可以幫助PLZ?

+2

認沽'結構B''結構A'。 – us2012

+0

非常感謝=)爲我工作 – sara

+4

[很多](http://hyperboleandahalf.blogspot.co.uk/2010/04/alot-is-better-than-you-at-everything.html)。 – jrok

回答

2

你只需要聲明struct B第一:

struct B; 
struct A{ 
    B *ptr; //it says identifier undefined 
}; 
struct B{ 

}; 
3

在C++中,所有符號必須在使用前聲明。因此,只需將B結構放置在A結構之前即可。

1

struct B; 

第一,你就大功告成了。這告訴編譯器將會有一個B

1

是的,你可以,你只需要declare the structure name before你使用實例的結構。

struct B; // declared before struct A, now the problem is gone. 

struct A{ 
    B *ptr; //it says identifier undefined 
}; 


struct B{ 

}; 
1

地方支柱乙結構A.前

class book 
{ 
struct B 
{ 

}; 
struct A 
{ 
B * ptr;   
}; 

}; 

地方結構乙befor結構A.前

相關問題