如果我有一堂有两个结构的课本
struct A{
B *ptr; //it says identifier undefined
};
struct B{
};
两者都在同一个类中定义。如上所述,是否可以将结构 B 的指针保存在结构 A 中?有人可以帮忙吗?
在 C++ 中,所有符号都必须在使用前声明。所以简单地把结构放在B
结构之前A
。
您只需struct B
要先声明:
struct B;
struct A{
B *ptr; //it says identifier undefined
};
struct B{
};
放
struct B;
首先,你就完成了。这告诉编译器会有一个B
.
是的,您可以,您只需要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{
};
将支柱 B 放在结构 A 之前。
class book
{
struct B
{
};
struct A
{
B * ptr;
};
};
将结构 B 放在结构 A 之前。