在结构定义内部声明结构的堆栈
Declaring a stack of a struct inside the struct definition
我需要在一个结构自身的结构声明中声明两个结构堆栈。我知道我可以对数组执行此操作,只要我在结构中用指针引用它(即FA *goingTo[30];
将给我一个30个FA
的数组)。是否有类似的方法引用堆栈?
typedef struct FA
{
std::stack<FA> goingTo;
std::stack<FA> comingFrom;
};
您在结构中定义的堆栈对象本身将包含(可能)结构的多个实例,每个实例都包含自己的堆栈,这些堆栈再次包含更多的结构。所以,如果你仔细想想,这是一个无限的遏制链。您可以修改定义(和用法)以包含指向FA*的指针堆栈。这将解决问题。
typedef struct FA {
std::stack<FA*> goingTo;
std::stack<FA*> comingFrom;
};
相关文章:
- 在什么情况下,两个堆栈分配的结构对象的 this 点指向同一个地址?
- 如何在C++中为堆栈动态创建结构?
- 使用带有链表的堆栈数据结构将中缀转换为后缀
- 我的堆栈和库存清单程序的结构有什么问题?
- 当我尝试为结构分配新指针时出现堆栈溢出错误
- 在C++中使用链表的堆栈实现中,访问结构体headNode成员count和top会导致运行时错误
- C++ 堆栈推送方法不会将结构推送到堆栈上,只是返回 0
- 是否可以检查存储在堆栈上的单词是否是回文,而C++中没有任何附加数据结构
- 递归如何使用堆栈数据结构
- 构建模板 使用矢量 c++ 的堆栈结构
- 比较堆栈数据结构 c++
- 使用提升库在队列和堆栈数据结构上保存和加载数据时出错
- Boost::序列化存储结构时的堆栈溢出错误
- 堆栈(数据结构)实现
- 如何在C 中的标准堆栈中推动结构类型变量
- 您如何声明类型结构的堆栈?在C 中
- 使用boost::序列化递归图结构时,如何防止堆栈溢出
- 将记录推送到数据结构中的堆栈
- 无法创建数组大小 [300][300] 的二维数据结构 - >堆栈溢出
- 从结构堆栈弹出时释放内存