[問題] 有關物件類別

看板C_and_CPP (C/C++)作者 (asaaaas)時間12年前 (2014/01/18 13:30), 編輯推噓5(507)
留言12則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) vector...算嗎? 問題(Question): 不知為何編譯錯誤 餵入的資料(Input):預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 編譯錯誤 程式碼(Code):(請善用置底文網頁, 記得排版) class Chessboard { public: Chessboard Child[150]; }; 補充說明(Supplement): Chessboard Child[150];這行錯誤 顯示「不允許不完整的型別」 不懂為何錯誤 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.129.0.19 ※ 編輯: asaaaas 來自: 220.129.0.19 (01/18 13:31)

01/18 13:32, , 1F
可以考慮一下什麼叫做「一個 class 裡有 150 個自己」
01/18 13:32, 1F

01/18 13:34, , 2F
你可以想一下 編譯器 要怎麼知道每個chessboard的大小
01/18 13:34, 2F

01/18 13:35, , 3F
要幫你allocate sizeof( chessboard)*150的空間~
01/18 13:35, 3F
好像懂了@@ 應該是因為這樣需要的空間會變成無限大..? 謝謝!! ※ 編輯: asaaaas 來自: 220.129.0.19 (01/18 13:37)

01/18 13:36, , 4F
應該是沒辦法預先知道~ 可是你可以宣告成pointer
01/18 13:36, 4F

01/18 13:37, , 5F
或者既然你有用 vector 也可以使用 vector 宣告
01/18 13:37, 5F

01/18 13:40, , 6F
不是 是他沒辦法allocate 他不知道你裡面有哪些data mem
01/18 13:40, 6F

01/18 13:41, , 7F
不知道你有那些data member 那他要留多少空間給你?
01/18 13:41, 7F
嗯..應該懂了@@ 謝謝 ※ 編輯: asaaaas 來自: 220.129.0.19 (01/18 13:44)

01/18 22:35, , 8F
vector跟貼的程式碼有什麼關係?
01/18 22:35, 8F
因為其實本來是要問另一個問題XD 後來改問這個問題結果忘記把上面改掉

01/19 16:14, , 9F
其實就算預先知道也會變成一個無限大的結構 XD
01/19 16:14, 9F

01/19 16:14, , 10F
每個chessboard有150個chessboard 裡面每一個chessboard
01/19 16:14, 10F

01/19 16:15, , 11F
又有150個chessboard 這樣無法算出來的 XD
01/19 16:15, 11F

01/19 16:15, , 12F
所以用pointer 編譯器才能知道要留150*4byte(x86而言)
01/19 16:15, 12F
我上面說的就是這個意思XD 會變無限多個chessboard ※ 編輯: asaaaas 來自: 36.226.230.12 (01/20 06:29)
文章代碼(AID): #1IsX64Xh (C_and_CPP)
文章代碼(AID): #1IsX64Xh (C_and_CPP)