[問題] no fuction body 但compile只出現warning?

看板C_and_CPP (C/C++)作者 (Monson)時間16年前 (2010/01/25 10:00), 編輯推噓4(408)
留言12則, 4人參與, 最新討論串1/1
目前在開發嵌入式系統 但最近發現當我使用event傳遞給另一個function B時 當我刻意將function B函式名稱改掉之後(此時確定沒有function body) 仍然可以compile過,而且只出現warning 不曉得有沒有人遇過這樣的情況? 這樣對於整個系統有非常大的潛在危險性 使用的compiler為gcc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.89.136.27

01/25 10:16, , 1F
C語言會把沒宣告就使用的函數預設成某一種型態,
01/25 10:16, 1F

01/25 10:18, , 2F
忘了是int func(int)還是哪個是void的樣子, 迴避方式小
01/25 10:18, 2F

01/25 10:18, , 3F
弟也有點好奇; 不過, 養成仔細check warning是好習慣:)
01/25 10:18, 3F

01/25 10:48, , 4F
會有這樣的情況?在哪裡可以找相關資料?
01/25 10:48, 4F

01/25 10:54, , 5F
奇怪, 印象中以前做出來過類似的狀況, 剛拿DevC要試又
01/25 10:54, 5F

01/25 10:55, , 6F
做不太出來@_@" 也可能小弟記錯了, 待其他強者解答Orz
01/25 10:55, 6F

01/25 10:57, , 7F
找到了, 精華區 z->3->7->8 小弟記的就是這個:)
01/25 10:57, 7F

01/25 11:32, , 8F
感謝你的回答!所以這是C本身的缺陷囉?
01/25 11:32, 8F

01/25 12:49, , 9F
只有C90才能這樣,C++和C99都把這個缺陷改掉了
01/25 12:49, 9F

01/25 16:04, , 10F
養成下 -Werror 的好習慣,把 warning 視為 error 開發。
01/25 16:04, 10F

01/25 16:05, , 11F
然後預設就下 -Wall 去編譯,遇到真的不想管的 case 再
01/25 16:05, 11F

01/25 16:05, , 12F
個別用 -Wno-xxx 來關閉。
01/25 16:05, 12F
文章代碼(AID): #1BNFiuje (C_and_CPP)
文章代碼(AID): #1BNFiuje (C_and_CPP)