mam problem... mając na stacku pointer do obiektu klasy Node, zrzucając go ze stacka chce go pszypisać do nowego obiektu tej samej klasy... jak to zrobic ??
oto kawałek kodu:
class Node{
private:
char val;
Node *left_child;
Node *right_child;
public:
Node(){val=NULL;left_child=NULL;right_child=NULL;};
Node(char value){val=value; left_child=NULL; right_child=NULL;};
Node(char value, Node* l_child, Node* r_child){
val=value; left_child=l_child; right_child=r_child;};
};
Node *NewNode, *NewLeft, *NewRight;
stack <Node> node_stack;
//..............................Parsing
for(j=0;j<(int)output.size(); j++){
if (is_operand(output.at(j))){
NewNode =new Node(output.at(j),NULL,NULL);
node_stack.push(*NewNode);
cout<<"Stack size after operand: "<<node_stack.size()<<endl;
}
if (is_operator(output.at(j))){
*NewLeft=node_stack.top(); // HERE debuger signals errrror
node_stack.pop();
*NewRight=node_stack.top();
node_stack.pop();
NewNode=new Node(output.at(j),NewLeft,NewRight);
node_stack.push(*NewNode);
}
//cout<<NewNode->val;
}