[問題] vector初始化

看板C_and_CPP (C/C++)作者 (Terry)時間14年前 (2011/10/18 13:13), 編輯推噓1(1010)
留言11則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc++ 2008 問題(Question): 請教一下,我的程式寫這樣子 const int server_number=5; for(int server_index=0;server_index<server_number;server_index++) { vector<int> avg_time_zero[server_index](10,0); } //compiler的訊息:無法配置常數大小為 0 的陣列,常數必須為大於 0 的整數 我想要把avg_time_zero裡面每個的vector都設定要10個元素每個元素都初始化0 這樣子寫是哪裡有錯呢? 還是說有更簡單的方式? 謝謝幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.100.113 ※ 編輯: bernachom 來自: 114.34.100.113 (10/18 13:19)

10/18 13:20, , 1F
一種替代寫法 http://pastie.org/2715827
10/18 13:20, 1F

10/18 13:21, , 2F
或許可以更簡潔,不過我想不到...
10/18 13:21, 2F

10/18 13:22, , 3F
要先宣告才能用阿 你把宣告跟使用搞再一起了
10/18 13:22, 3F
可是算我的宣告了,他還是說 無法配置常數大小為 0 的陣列,常數必須為大於 0 的整數 可能真的是要重新配置SIZE的問題?! 只是為什麼初始化要重新配置SIZE大小....@_@? 我先試看看j大的方法,謝謝 ※ 編輯: bernachom 來自: 114.34.100.113 (10/18 13:25)

10/18 13:24, , 4F
不需要迴圈,兩行: vector<int> vec(10, 0);
10/18 13:24, 4F

10/18 13:25, , 5F
vector< vector<int> > V2D(server_number, vec);
10/18 13:25, 5F

10/18 13:26, , 6F
C++的思維來說bleed1979才是正解
10/18 13:26, 6F

10/18 13:26, , 7F
vector裡面包vector
10/18 13:26, 7F

10/18 13:26, , 8F
我仔細看一下這兩行的方法...好猛..感謝
10/18 13:26, 8F

10/18 13:27, , 9F
我會盡量用修改原po最小幅度程式碼的想法來改啦XD
10/18 13:27, 9F

10/18 13:27, , 10F
^_^感謝各位大力幫忙~我來看一下~~謝謝
10/18 13:27, 10F

10/18 14:27, , 11F
其實vector自動就會初始化,所以13行其實不用
10/18 14:27, 11F
文章代碼(AID): #1EdGhxFk (C_and_CPP)
文章代碼(AID): #1EdGhxFk (C_and_CPP)