[問題] struct array 引入sub function issue

看板C_and_CPP (C/C++)作者 (爆肝人生)時間7年前 (2018/11/12 14:31), 7年前編輯推噓0(0011)
留言11則, 3人參與, 7年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Linux 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) non. 問題(Question): 我定義一個二維陣列要引入sub function. 同時定義Link list struct裡也有相同的二維陣列 但gcc compiler解析出來的與我定義的原形不同, 不解為什麼. 我的原形: typedef unsigned char BYTE; typedef BYTE TestMatrix[10][10]; sub function引入變數的寫法: LinkListNode *InserNode(LinkListNode *first, LinkListNode *theNode, TestMatrix Matrix){ GCC Compiler fail: test.cpp: In function ‘LinkListNode* InserNode(LinkListNode*, LinkListNode*, BYTE (*)[10])’: test.cpp:24:22: error: incompatible types in assignment of ‘BYTE (*)[10] {aka unsigned char (*)[10]}’ to ‘TestMatrix {aka unsigned char [10][10]}’ inserNode->Matrix=Matrix; 餵入的資料(Input):預期的正確結果(Expected Output): compiler pass 錯誤結果(Wrong Output): compiler fail 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) https://pastebin.com/embed_js/nBEkr5rC 補充說明(Supplement): 感謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.146.88.200 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1542004282.A.A16.html ※ 編輯: viajimmy (122.146.88.200), 11/12/2018 14:32:11 ※ 編輯: viajimmy (122.146.88.200), 11/12/2018 14:51:04

11/12 14:58, 7年前 , 1F
二維陣列不能這樣傳
11/12 14:58, 1F

11/12 15:05, 7年前 , 2F
咦~~真的嗎? 完了, 我要改動大了.....
11/12 15:05, 2F

11/12 15:34, 7年前 , 3F
inserNode() 怎麼這麼像以前公司同事的拼字
11/12 15:34, 3F

11/12 15:41, 7年前 , 4F
哈哈, 我拿sample code來試二維陣例, 才會有這些名字
11/12 15:41, 4F

11/12 15:51, 7年前 , 5F
sample code也沒有t嗎
11/12 15:51, 5F

11/12 16:11, 7年前 , 6F
有點忘了Sample code那來的..(存在Evernot, 忘了留ref)
11/12 16:11, 6F

11/12 16:11, 7年前 , 7F
不過拿inserNode拿去餵狗, 還蠻多人這麼用
11/12 16:11, 7F

11/12 16:12, 7年前 , 8F
11/12 16:12, 8F

11/12 16:13, 7年前 , 9F
因為我套回我要用的Code不會用這名字, 倒沒留意t不見了.
11/12 16:13, 9F

11/14 14:12, 7年前 , 10F
以前同事都會很神祕的掉字或者拼錯尾巴 而且還一直用
11/14 14:12, 10F

11/14 14:13, 7年前 , 11F
那又共用method不能把他改掉 看到超痛苦的 XD
11/14 14:13, 11F
文章代碼(AID): #1RwHuweM (C_and_CPP)
文章代碼(AID): #1RwHuweM (C_and_CPP)