瀏覽代碼

AK: Fix erroneous move operators for SinglyLinkedList

This patch provides a proper implementation of the move operator and
delete the move assignment operator.

Those operators were introduced in #11888
Lucas CHOLLET 3 年之前
父節點
當前提交
b0d51a6f36
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      AK/SinglyLinkedList.h

+ 8 - 2
AK/SinglyLinkedList.h

@@ -81,9 +81,15 @@ private:
 public:
     SinglyLinkedList() = default;
     SinglyLinkedList(const SinglyLinkedList& other) = delete;
-    SinglyLinkedList(SinglyLinkedList&&) = default;
+    SinglyLinkedList(SinglyLinkedList&& other)
+        : m_head(other.m_head)
+        , m_tail(other.m_tail)
+    {
+        other.m_head = nullptr;
+        other.m_tail = nullptr;
+    }
     SinglyLinkedList& operator=(const SinglyLinkedList& other) = delete;
-    SinglyLinkedList& operator=(SinglyLinkedList&&) = default;
+    SinglyLinkedList& operator=(SinglyLinkedList&&) = delete;
 
     ~SinglyLinkedList() { clear(); }