作者QQ29 (我愛阿蓉)
看板C_and_CPP
標題Re: [問題] passing arg 1 of `load' from incompa …
時間Fri Oct 9 12:41:26 2009
※ 引述《gn0042 (mija)》之銘言:
: struct robot world[height][width][layer][door_width];//建立基本的陣列架構
你這樣寫除非你這四個都是const 不然看之前文章的大大們說
這種寫法新的標準可以過 但是不建議...
如果你硬要傳這四維陣列
假如world大小是[1][2][3][4]
set必須宣告成 set(struct robot (*P)[2][3][4]);
不過這樣好像也沒比較好理解
直接傳陣列可能比較好懂
不過我沒看你的邏輯 總覺得不用用到四維陣列吧?
: set(world,height,width,layer,door_width);
: 卻出現了這樣的錯誤
: warning: passing arg 1 of `set' from incompatible pointer type
: 執行後就CORE DUMPED了
: 我想應該是型別轉換的問題
: 應該怎麼解決呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.207.187
推 gn0042:四維的宣告是因為我要做一個社區 10/09 12:58
→ gn0042:分成很多區 所以區域號碼跟門牌號碼就構成一個四維陣列 10/09 13:00
→ QQ29:你就直接傳array進去好了 這樣寫也不會比較簡便 10/09 13:08
→ QQ29:可是要是我是你 我會把他寫成class 一層包一層 10/09 13:09
→ QQ29:雖然有可能也是一維陣列這樣包四層 至少比較好操作跟思考 10/09 13:10
推 stupidbear:不用這麼麻煩吧?擅用結構的特性就好了吧? 10/09 17:54