Вы должны прочитать некоторые основные сведения об указателях и памяти.
delete
используется для удаления чего-либо из памяти.В этом случае это переменная кучи, в которой хранится содержимое вашего узла.Очевидно, что это должно быть сделано именно тогда, когда узел удален.
После того, как вы установили temp
в nullptr
, он больше не представляет (/ указывает на) какую-либо память.Вызывать delete для этого не имеет смысла.(Это технически безвредно, но наличие бесполезных строк в вашем коде все еще не годится.)
Я рекомендую вам прочитать, что такое стек и куча, и почему куча нуждается в новом и удалять, пока стек не работает.«т.Это может прояснить ситуацию для вас.