c++与递归 中的单链表搜索指定值

在以f为头指针的单链表中搜索其值等于给定值x的结点
void Search(LinkNode *f,T& x){
if (f==NULL) return;
else if (f->date==x)return f;
else Search(f->link,x);
} 课本上的代码, 返回值是空类型 与return f 不是相互矛盾吗?

这代码是错的,void类型,不能return f;

代码不对,编译肯定通不过, 类型不匹配

楼主要不拍个书上的照片

 void Search(LinkNode *f,T& x){
    if (f != NULL) 
    {
    if (f->data == x)
        printf("%d\n", f->data);
    else Search(f->link,x);
    }
}