0

如果我有一堂有两个结构的课本

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

};

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

4

5 回答 5

3

在 C++ 中,所有符号都必须在使用前声明。所以简单地把结构放在B结构之前A

于 2013-09-28T19:09:15.153 回答
2

您只需struct B要先声明:

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

};
于 2013-09-28T19:09:24.787 回答
1

struct B;

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

于 2013-09-28T19:09:51.893 回答
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{

};
于 2013-09-28T19:10:30.680 回答
1

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

 class book
{
struct B
{

};
struct A
{
 B * ptr;         
};

};

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

于 2013-09-28T19:37:17.273 回答