紧急求救:关于C++ builder中的栈的问题

youziying 2003-12-26 11:09:53
程序中生成了一棵树,树的结点为结构体形式,定义如下:
struct Node
{
int Attribute;
int Class;
struct Node * FirChild;
struct Node * Sibling;
};
想将指向此树结点的指针放入栈中。
请问:如何定义此栈,使得栈中的元素存储的是指向该结构体的指针。还有,如果还应用到队列,此队列又该如何定义。为什么我在编程的时候,怎不能使其存储指针,只能存储结点? (直接应用c++ builder的STL中的栈和队列)
...全文
9 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nbb 2004-01-07
不是:
std::Stack<Node *> mystack
std::Queue<Node *> myQueue

是:
std::stack<Node *> mystack
std::queue<Node *> myQueue

STL中的所有容器类型名称都没有大写
回复
victor_cui 2003-12-26
std::Stack<Node *> mystack
std::Queue<Node *> myQueue

ok
回复
youziying 2003-12-26
此程序中的.h文件以包含下述
#include <queue>
#include <stack>
using namespace std;
但是如上定义
std::Queue<Node *> NodeQueue;
std::Stack<Node *> NodeStack;

后,运行报错为
[C++ Error] AmbiguityDT.h(1357): E2316 'Stack' is not a member of 'std'
[C++ Error] AmbiguityDT.h(1357): E2108 Improper use of typedef 'Node'
[C++ Error] AmbiguityDT.h(1357): E2188 Expression syntax
[C++ Error] AmbiguityDT.h(1444): E2451 Undefined symbol 'NodeQueue'
[C++ Error] AmbiguityDT.h(1443): E2268 Call to undefined function 'push_back'
回复
发动态
发帖子
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
社区公告
暂无公告