在编写一个函数来提取链表的最小值时,我遇到了返回类型的问题,我正在使用模板,我正在尝试从模板的类型更改为所需的类型。我该怎么办。谢谢你:))
这是代码:
Type linkedListType<Type>::extractMin()const{
assert (last!=NULL);
nodeType<Type> *current;
nodeType<Type> *minval;
current = first;
minval=first;
while (current != NULL) //search the list
{
if (current->info < minval->info) //searchItem is found
{
minval=current;
current=current->link;
}
else
current = current->link; //make current point to next node
}
return minval;}
答案 0 :(得分:0)
您的功能有签名
Type linkedListType<Type>::extractMin() const
但你试图返回
return minval;
哪个类型
nodeType<Type>* minval;
当您说要返回nodeType<Type>*
时,您将返回Type
。
答案 1 :(得分:0)
输入linkedListType :: extractMin()const
您正在返回Type
。
nodeType * minval
但是,您尝试执行return minval
,但minval
属于nodeType<Type>*
类型(即您未返回Type
)。< / p>
相反,您可能需要返回minval
的其中一个成员。例如
return minval->value;
但由于我们不知道nodeType
的代码是什么,我们无法确切地说明如何解决问题。