[語法] vector of array

看板C_and_CPP (C/C++)作者 (無虧/明月幾時有?)時間16年前 (2010/04/13 17:04), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
C++中可以宣告 vector<int[4]> v; 但要怎麼把元素丟進去? int ele[4] = {0,0,0,0}; v.push_back(ele); 這樣的話會出現error, VC是跟我說不能把 const int[4] 轉成 int[4] 為什麼? 又該怎麼做呢? 如果非得改成pointer的話, 又為何要允許宣告vector<int[4]>? -- 如果可以選擇,希望祝福不是我唯一能對妳的好; 如果可以選擇,希望保護妳、照顧妳的人是我; 如果可以選擇,希望砍斷自己的天使翅膀, 只願化作一個平凡而非聖潔。 If I could have a choice... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.98.23

04/13 17:37, , 1F
STL container 可以放的東西應該只限「可以用等號賦值者」
04/13 17:37, 1F

04/13 17:38, , 2F
有這方面需求的話可以試試 vector< vector<int> > v;
04/13 17:38, 2F

04/13 17:39, , 3F
允許宣告應該是因為template可以接受的東西是「資料型態」
04/13 17:39, 3F

04/13 17:39, , 4F
然而使用 push_back() 在賦值的時候因為 int[4] 不能用等
04/13 17:39, 4F

04/13 17:40, , 5F
號來賦值,所以就出現錯誤了
04/13 17:40, 5F

04/14 16:42, , 6F
了解 謝謝!!
04/14 16:42, 6F
文章代碼(AID): #1Bn3Ekg- (C_and_CPP)
文章代碼(AID): #1Bn3Ekg- (C_and_CPP)