Re: [問題] bitset 宣告陣列的一個問題

看板C_and_CPP (C/C++)作者 (黑駿)時間14年前 (2012/05/26 15:15), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《etonhsiao (eton)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : VC++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : bitset : 問題(Question): : 我想要宣告一個bitset的陣列,可是compile一直不過 : 餵入的資料(Input): : bitset<3> A[4] = {string("000"), string("001"), string("010"), string("100") } bitset 有三個建構式(constructor) 1. bitset ( ); 2. bitset ( unsigned long val ); 3. template<class charT, class traits, class Allocator> explicit bitset ( const basic_string<charT,traits,Allocator>& str, typename basic_string<charT,traits,Allocator>::size_type pos = 0, typename basic_string<charT,traits,Allocator>::size_type n = basic_string<charT,traits,Allocator>::npos); 跟據原 po 的要求,是用 string 去初始化 bitset,也就是用第 3 個建構式 但是,這個建構式是 explicit 的…也就是說,不能隱式轉型 要達成原 po 的需求,可以用 copy assignment 做到: bitset<3> A[4] = { bitset<3> (string("000")), bitset<3> (string("001")), bitset<3> (string("010")), bitset<3> (string("100")) }; : 預期的正確結果(Expected Output): : A[0] = 000, ..... : 錯誤結果(Wrong Output): : 無法compile : 程式碼(Code):(請善用置底文網頁, 記得排版) : 補充說明(Supplement): : 我把string的東西換成數字 : bitset<3> A[4] = { 0, 1, 2, 4 } : 這樣就可以過 : 但是我想用string來宣告,這樣比較方便 : 有沒有辦法呢? -- 光明 的背後 是 黑暗 黑暗 的背後 還是 黑暗 由此可知 黑暗 > 光明 Q.E.D. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.230.123 ※ 編輯: darkgerm 來自: 140.113.230.123 (05/26 17:11)

05/26 20:11, , 1F
看到帳號只好推了XDDD
05/26 20:11, 1F

05/26 23:01, , 2F
DKG必推
05/26 23:01, 2F

05/27 09:32, , 3F
原來如此~非常感謝!!
05/27 09:32, 3F
文章代碼(AID): #1Fm8CdFZ (C_and_CPP)
文章代碼(AID): #1Fm8CdFZ (C_and_CPP)