error C2280 嘗試引用已刪除的函式

2022-07-01 23:57:12 字數 538 閱讀 1036

#include

struct scenedata

;

剛開始用的map,後來想直接用索引找值,於是換成hash_map,沒想到時至今日,它已經被微軟體廢棄了,按著vs2019的提示將頭換成unordered_map,並使用該型別。

不料出現c2280的錯誤。

觀察輸出 

對cstring類,使用 std::hash<_kty>::hash(const std::hash<_kty> &) 生成鍵時,引用的是 _kty=atl::cstring,而此構造被認為是刪除的,並且編譯器已經使用 std::hash<_kty>::hash 生成了鍵,引用的是 _kty=atl::cstring。

看來 問題出在 鍵上,而非 值上。將鍵換成簡單型別後錯誤提示消失。

在網上看到有使用union,報相同錯誤的文章。解決方案是將cstring換成簡單型別。還有將析構函式許可權沒有放在公有許可權中而報該錯誤的。

228 彙總區間

給定乙個無重複元素的有序整數陣列 nums 返回 恰好覆蓋陣列中所有數字 的 最小有序 區間範圍列表。也就是說,nums 的每個元素都恰好被某個區間範圍所覆蓋,並且不存在屬於某個範圍但不屬於 nums 的數字 x 列表中的每個區間範圍 a,b 應該按如下格式輸出 a b 如果 a b a 如果 a ...

2 28共享記憶體(1)

shmget只是建立或者取得了乙個共享記憶體段,該共享記憶體段和哪個程序都沒有關係,程序還要通過shmat來附上共享記憶體段,得到該共享記憶體段在該程序的虛擬位址空間中的位置指標。然後才可以進行操作。操作結束後,要呼叫shmdt和共享記憶體段進行分離,分離之後,共享記憶體還存在,只是這個程序不能使用...

LeetCode Python 228 彙總區間

給定乙個無重複元素的有序整數陣列,返回陣列區間範圍的彙總。示例 1 輸入 0,1,2,4,5,7 輸出 0 2 4 5 7 解釋 0,1,2 可組成乙個連續的區間 4,5 可組成乙個連續的區間。示例 2 輸入 0,2,3,4,6,8,9 輸出 0 2 4 6 8 9 解釋 2,3,4 可組成乙個連續...