i get the following error when i try to create a new TreeNode
Expand|Select|Wrap|Line Numbers
- error C2514: 'TreeNode' : class has no constructors
Expand|Select|Wrap|Line Numbers
- treeObj->root = new TreeNode(oneline.c_str());
Expand|Select|Wrap|Line Numbers
- TreeNode<char> *treeNodeObj = NULL;
i have attached the code for the TreeNode.h below:
Expand|Select|Wrap|Line Numbers
- #pragma once
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <deque>
- #include <queue>
- using namespace std;
- template <class T>
- class TreeNode
- {
- public:
- TreeNode<T>(T newItem);
- ~TreeNode<T>(void);
- void setItem(T newItem);
- void setLeft(TreeNode *newLeft);
- void setRight(TreeNode *newRight);
- T getItem();
- TreeNode<T>* getLeft();
- TreeNode<T>* getRight();
- bool IsSameNode(T c);
- T item;
- private:
- TreeNode *left;
- TreeNode *right;
- };
- template <class T>
- TreeNode<T>::TreeNode(T newItem)
- {
- item = newItem;
- left = NULL;
- right = NULL;
- }
- template <class T>
- TreeNode<T>::~TreeNode(void)
- {
- }
- template <class T>
- void TreeNode<T>::setItem(T newItem)
- {
- // set methods
- item = newItem;
- }
- template <class T>
- void TreeNode<T>::setLeft(TreeNode *newLeft)
- {
- left = newLeft;
- }
- template <class T>
- void TreeNode<T>::setRight(TreeNode *newRight)
- {
- right = newRight;
- }
- template <class T>
- T TreeNode<T>::getItem()
- {
- // get methods
- return item;
- }
- template <class T>
- TreeNode<T>* TreeNode<T>::getLeft()
- {
- return left;
- }
- template <class T>
- TreeNode<T>* TreeNode<T>::getRight()
- {
- return right;
- }
- template <class T>
- bool TreeNode<T>::IsSameNode(T c)
- {
- return this->item == c;
- }
thanks :)