可以在同一个类中定义的两个结构可以相互访问吗?

时间:2013-09-28 19:07:10

标签: c++ class pointers struct

如果我有一本有两个 struct

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

};

两者都在同一个类中定义。是否有可能在结构A中保存struct B的指针,如上所述? 任何人都可以帮助PLZ吗?

5 个答案:

答案 0 :(得分:3)

在C ++中,所有符号必须在使用之前声明。因此,只需将B结构放在A结构之前。

答案 1 :(得分:2)

您只需先声明struct B

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

};

答案 2 :(得分:1)

struct B;

首先,你已经完成了。这告诉编译器会有B

答案 3 :(得分: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{

};

答案 4 :(得分:1)

在结构A之前放置支柱B.

 class book
{
struct B
{

};
struct A
{
 B * ptr;         
};

};

将struct B放在结构A上。