私はリストの最初の要素を取得してそれを削除しようとしています。基本クラスの変数を返して削除するにはどうすればよいですか?
ノード(ListNode*
)が返された場合、削除することはできません。私が戻ってくる前にそれを取り除くと、既に取り除かれているので、何も返されません。
別のremove()
機能を作成する代わりに、機能getFirst()
の中で削除機能を維持しようとしています。一時ポインタを作成することによって、私は同じ問題に遭遇します(削除することはできません)。私は削除を実装しようとし、要件の取得部分を無視しました。
ListNode* LinkedList::getFirst(){
ListNode *nodePtr; //traverse the list
if(head == nullptr){
std::cout << "List is empty no node to remove"<< std::endl;
return nullptr;
}
else{
nodePtr = head;
head = head->next;
delete nodePtr;
}
return nullptr;
}
ポインタを返して削除するにはどうすればよいですか?
理想的には、しないでください。 See [std :: queue :: pop戻り値。](https://stackoverflow.com/q/25035691/10077) –
あなたはどんなポインタを返そうとしていますか? –