如何返回指针函数?

问题描述 投票:0回答:2

我是C ++的新手,我被要求进行类工作以执行一个函数,该函数采用双链表并将其元素复制到单链表中,然后将其返回,但是,只有在以下情况下,我才获得此函数的声明:我将函数设置为不返回任何东西,或者给了我下面的错误,我理解了链表代码,但是我不理解使用指针和返回部分,有人可以向我解释一下吗?以及如何使其工作?我无法在网上找到对此的解释,或者我搜索的关键字错误。任何帮助表示赞赏。

template <class T>
SinglyLinkedList<T>* DoublyLinkedList<T>:: Function() {

SinglyLinkedList<T> list1;

DLLnode<T>*p = head;

while (p!=NULL) {

list1.addtoHead(p->value);
p=p->next;

}

return list1;

}

//error: cannot convert ‘SLL<int>’ to ‘SLL<int>*’ in return
c++ pointers linked-list singly-linked-list doubly-linked-list
2个回答
1
投票

1)为此使用指针是愚蠢的。但这就是您被告知要做的。


0
投票
您应该按值而不是按指针返回列表,因此将签名修改为以下内容:>

SinglyLinkedList<T> DoublyLinkedList<T>::Function()

© www.soinside.com 2019 - 2024. All rights reserved.