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; }



LinkBack URL
About LinkBacks





I'm getting different errors now such as 'Stack is not a template' or 'template argument required for struct Stack'