Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 同一类中定义的两个结构是否可以相互访问?_C++_Class_Pointers_Struct - Fatal编程技术网

C++ 同一类中定义的两个结构是否可以相互访问?

C++ 同一类中定义的两个结构是否可以相互访问?,c++,class,pointers,struct,C++,Class,Pointers,Struct,如果我有一个有两个结构的类 两者都在同一个类中定义。是否可以像我上面提到的那样将结构B的指针保存在结构A中? 有人能帮助PLZ吗?< /P> < P> C++中所有符号在使用之前都必须声明。因此,只需将B结构放在A结构之前。您只需首先声明结构B: 放 首先,你就完成了。这告诉编译器将有一个B。是的,您可以,您只需在使用实例的结构之前声明结构名称 将支柱B置于结构A之前 class book { struct B { }; struct A { B * ptr; }; }

如果我有一个有两个结构的类

两者都在同一个类中定义。是否可以像我上面提到的那样将结构B的指针保存在结构A中?
有人能帮助PLZ吗?< /P> < P> C++中所有符号在使用之前都必须声明。因此,只需将B结构放在A结构之前。

您只需首先声明结构B:


首先,你就完成了。这告诉编译器将有一个B。

是的,您可以,您只需在使用实例的结构之前声明结构名称


将支柱B置于结构A之前

 class book
{
struct B
{

};
struct A
{
 B * ptr;         
};

};

将结构B放在结构A之前。

将结构B放在结构A之前。非常感谢您为我工作。@jrok ooopps=p非常感谢您的更正
 class book
{
struct B
{

};
struct A
{
 B * ptr;         
};

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

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


struct B{

};
 class book
{
struct B
{

};
struct A
{
 B * ptr;         
};

};