[問題] 使用 operator[] 修改 reference 變數
開發平台(Platform): (Ex: Win10, Linux, ...)
Leetcode C++
問題(Question):
小弟在寫這題 https://leetcode.com/problems/word-ladder/
不大理解第 20 行的地方我用 auto& 的話 在第 24 行想要更改變數值得時候就會出現編譯錯誤
error: cannnot assign to return value because function 'operator[]' return const value
w[i] = j;
~~~~ ^
我知道用 auto 直接 copy 一份 value 的話就可以順利編譯
但我不大理解為啥這邊會沒辦法使用 auto& 來宣告,我的理解是如果我用 const auto& 才無法更改變數值才對
想理解說是甚摸原因造成這個編譯錯誤~
感謝各位前輩!
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
http://codepad.org/Jaqrv5iL
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.3.109 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1605441487.A.2F4.html
推
11/15 20:22,
4年前
, 1F
11/15 20:22, 1F
→
11/15 20:24,
4年前
, 2F
11/15 20:24, 2F
→
11/15 20:24,
4年前
, 3F
11/15 20:24, 3F
→
11/15 20:26,
4年前
, 4F
11/15 20:26, 4F
→
11/15 20:26,
4年前
, 5F
11/15 20:26, 5F
→
11/15 20:26,
4年前
, 6F
11/15 20:26, 6F
受教了 解釋非常清楚 感謝大大~
沒想到這個原因,仔細看了 cplusplus 似乎確實是這樣 Key 值都是 immutable 的
http://www.cplusplus.com/reference/unordered_set/unordered_set/
※ 編輯: lemonsheep (180.177.3.109 臺灣), 11/15/2020 21:57:13
→
11/15 22:11,
4年前
, 7F
11/15 22:11, 7F
→
11/15 22:11,
4年前
, 8F
11/15 22:11, 8F
→
11/15 22:11,
4年前
, 9F
11/15 22:11, 9F
→
11/15 22:21,
4年前
, 10F
11/15 22:21, 10F
→
11/15 22:22,
4年前
, 11F
11/15 22:22, 11F
→
11/15 22:23,
4年前
, 12F
11/15 22:23, 12F
→
11/15 22:25,
4年前
, 13F
11/15 22:25, 13F
→
11/15 22:26,
4年前
, 14F
11/15 22:26, 14F
→
11/15 22:27,
4年前
, 15F
11/15 22:27, 15F
→
11/15 22:27,
4年前
, 16F
11/15 22:27, 16F
→
11/15 22:33,
4年前
, 17F
11/15 22:33, 17F
推
11/16 13:27,
4年前
, 18F
11/16 13:27, 18F
→
11/16 13:27,
4年前
, 19F
11/16 13:27, 19F
→
11/16 13:39,
4年前
, 20F
11/16 13:39, 20F
→
11/16 13:39,
4年前
, 21F
11/16 13:39, 21F
→
11/16 13:39,
4年前
, 22F
11/16 13:39, 22F
→
11/16 13:39,
4年前
, 23F
11/16 13:39, 23F
→
11/16 13:39,
4年前
, 24F
11/16 13:39, 24F
推
11/16 16:55,
4年前
, 25F
11/16 16:55, 25F
→
11/16 16:55,
4年前
, 26F
11/16 16:55, 26F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章