c ++函数返回类型错误

时间:2015-05-06 13:38:11

标签: c++ function

在编写一个函数来提取链表的最小值时,我遇到了返回类型的问题,我正在使用模板,我正在尝试从模板的类型更改为所需的类型。我该怎么办。谢谢你:))

这是代码:

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

2 个答案:

答案 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的代码是什么,我们无法确切地说明如何解决问题。