c++stack
#include<stack>
包含这个文件之后实例化的时候可以用结构体指针实例化一个栈的实例吗
[解决办法]
重名了.而且,那个 stack前面的const是错的.去掉.
#include<iostream>#include<stack>using namespace std;typedef struct BiTNode{ char data; BiTNode* lchild, *rchild;} BiTNode, *BiTree;stack<BiTree> lstack;class BiTreeClass{ private: BiTNode* root; BiTNode* CreatBiTree(BiTNode* r) { char ch; cout << "请输入创建一棵二叉树的节点数据" << endl; cin >> ch; if(ch == '#') return NULL; else { r = new BiTNode; r->data = ch; r->lchild = CreatBiTree(r->lchild); //递归建立左子树 r->rchild = CreatBiTree(r->rchild); //递归建立右子树 } return r; } void PreOrder(BiTNode* r) { if(r == NULL) return; while(r != NULL && !lstack.empty()) { if(r->lchild != NULL) { cout << r->data; lstack.push(r); } if(r->rchild != NULL) { cout << r->data; lstack.push(r->rchild); } else lstack.pop(); } } void InOrder(BiTNode* r) { } void PostOrder(BiTNode* r) { } void Destroy(BiTNode* r) { if(r != NULL) { Destroy(r->lchild); Destroy(r->rchild); delete r; } } public: BiTreeClass() { root = CreatBiTree(root); } ~BiTreeClass() { Destroy(root); } void PreOrder() { PreOrder(root); } void InOnder() { InOrder(root); }};int main(){ BiTreeClass T;}