So i'm trying to convert a postfix expression to an expression tree and print it. I have the following classes. In the main, I have never really understood how to properly declare stuff. Im getting errors saying the function i used in main has not been declared and such. Any explanation would be appreciated
Code:
template<class object>
class TreeNode
{
object element;
TreeNode *left;
TreeNode *right;
TreeNode(const object &theElement, TreeNode *lt, TreeNode *rt):
element(theElement), left(lt), right(rt){}
};
template<class object>
class Stack
{
public:
Stack();
~Stack();
bool isEmpty();
TreeNode<object> *top();
void makeEmpty();
void pop();
void push(TreeNode<object> *info);
TreeNode<object> *topAndPop();
void posttotree(string, TreeNode<object>*&);
private:
struct ListNode {
TreeNode<object> * element;
ListNode *next;
ListNode(const object &theElement, ListNode *n=NULL):
element(theElement), next(n) {}
};
ListNode *topofstack;
};
int main()
{
string postfix;
TreeNode<object> *T; // not properly declared
cout << "Enter postfix expression:" << endl;
cin >> postfix;
posttotree(postfix, *T); // function not declared?
return 0;
}