读书人

求解决办法

发布时间: 2012-03-17 19:06:28 作者: rapoo

求解决方法
template <typename T>
class BinarySearchTree
{
public:
//...
private:
struct BinaryNode
{
T element;
BinaryNode *left;
BinaryNode *right;

BinaryNode(const T &the_element,BinaryNode *lt,BinaryNode *rt)
: element(the_element), left(lt), right(rt){ }
};
//...
BinaryNode *FindMin(BinaryNode *t) const;
};

template <typename T>
BinaryNode *BinarySearchTree <T> ::FindMin(BinaryNode *t) const
{
if( t==NULL )
{
return NULL;
}
if( t-> left==NULL )
{
return t;
}
return FindMin(t-> left);
}

问题:给出了这些错误信息

error C2143: syntax error : missing '; ' before '* '

\exercise\binarysearchtree\binarysearchtree\binarysearchtree.h(191) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

\exercise\binarysearchtree\binarysearchtree\binarysearchtree.h(191) : error C2065: 'T ' : undeclared identifier

[解决办法]
template <typename T>
BinaryNode *BinarySearchTree <T> ::FindMin(BinaryNode *t) const
{
====>
template <typename T>
typename BinarySearchTree <T> ::BinaryNode* BinarySearchTree <T> ::FindMin(typename BinarySearchTree <T> ::BinaryNode* t) const
{

读书人网 >C++

热点推荐