I keep getting bizzare errors when trying to compile the following code..These are standard template classes.
I have the following two files:
BraidedNode.cpp
BraidedNode.hCode:#include "BraidedNode.h" template<class T> BraidedNode<T>::BraidedNode(T val) : TreeNode<T>(val) { } template<class T> *BraidedNode<T>::rchild(void) : TreeNode<T>(val) { return (BraidedNode<T>*)_rchild; } template<class T> *BraidedNode<T>::lchild(void) : TreeNode<T>(val) { return (BraidedNode<T>*)_lchild; } template<class T> *BraidedNode<T>::next(void) : TreeNode<T>(val) { return (BraidedNode<T>*)_next; } template<class T> *BraidedNode<T>::prev(void) : TreeNode<T>(val) { return (BraidedNode<T>*)_prev; }
Code:#ifndef _BraidedNode_h #define _BraidedNode_h #include <stdio.h> #include "Node.h" #include "TreeNode.h" template<class T>class BraidedNode : public Node, public TreeNode<T> { public: BraidedNode(T); BraidedNode<T> *rchild(void); BraidedNode<T> *lchild(void); BraidedNode<T> *next(void); BraidedNode<T> *prev(void); //friend class BraidedSearchTree<T>; };
and the error I get is:
Code:BraidedNode.cpp:8: error: ISO C++ forbids declaration of ‘rchild’ with no type BraidedNode.cpp:8: error: prototype for ‘int* BraidedNode<T>::rchild()’ does not match any in class ‘BraidedNode<T>’ BraidedNode.h:12: error: candidate is: BraidedNode<T>* BraidedNode<T>::rchild() BraidedNode.cpp:8: error: template definition of non-template ‘int* BraidedNode<T>::rchild()’ BraidedNode.cpp: In member function ‘int* BraidedNode<T>::rchild()’:



LinkBack URL
About LinkBacks



