推 LiloHuang: vector<string> getData() 08/26 20:50
→ LiloHuang: { 08/26 20:50
→ LiloHuang: vector<string> inpt; 08/26 20:50
→ LiloHuang: string temp; 08/26 20:50
→ LiloHuang: while( getline(cin, temp) ) 08/26 20:51
→ LiloHuang: { 08/26 20:51
→ LiloHuang: inpt.push_back(temp); 08/26 20:51
→ LiloHuang: if (temp == "0") { 08/26 20:51
→ LiloHuang: return inpt; 08/26 20:51
→ LiloHuang: } 08/26 20:51
→ LiloHuang: } 08/26 20:51
→ LiloHuang: } 08/26 20:52
→ LiloHuang: 對於 vector 的操作,如果沒有先 resize() 是不可以直 08/26 20:52
→ LiloHuang: 接塞資料的,不管 index 是多少都不行,改用 push_back 08/26 20:53
→ LiloHuang: 就可以解決了 08/26 20:53
推 LiloHuang: 當然,除非原本 vector 的 size 就不為 0 就可以放資料 08/26 20:55
→ LiloHuang: 先 resize 直接塞資料,仍須注意是否有 out of range 08/26 21:03
推 milkdragon: 不對吧,vector當然可以直接塞資料,這個問題是出在 08/26 21:20
→ milkdragon: 變數生命週期,不能這樣 return 區域變數 08/26 21:20
→ milkdragon: 對不起我看錯了 你是複製一份 請無視上面的推文 囧 08/26 21:21
→ milkdragon: 樓上是對的,要用push_back,抱歉我剛沒看原po的code 08/26 21:22
→ milkdragon: 太丟臉了,讓我死了吧 XDDD 08/26 21:24
→ keke0421: 感謝兩位大大的解惑 >< 08/26 22:27