[問題] return問題

看板C_and_CPP作者 (dd810)時間8年前 (2016/04/28 01:42), 編輯推噓4(4019)
留言23則, 7人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Xcode 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 在xcode時用void以外不能用reture 錯誤結果(Wrong Output): Control may reach end of non-void function 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/T36LJH 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 172.250.212.103 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1461778945.A.3B8.html

04/28 01:47, , 1F
第 87 行和第 111 行漏了 return
04/28 01:47, 1F

04/28 01:50, , 2F
然後你的 calcValue() 在 unit<1, 10<unit<11 等狀況下
04/28 01:50, 2F

04/28 01:50, , 3F
就會連續闖過三個 if 到達沒有寫 return 的地方...
04/28 01:50, 3F

04/28 01:51, , 4F
這也就是你貼的那行訊息所要告訴你的事。
04/28 01:51, 4F

04/28 01:53, , 5F
感謝大大幫忙,上課有問過老師結果老師也不知道原因..
04/28 01:53, 5F

04/28 02:14, , 6F
如果我是老師,我不會說不知道,而是說我回去查查資料
04/28 02:14, 6F

04/28 02:15, , 7F
然後用一個沒人認識的 ID 到本板問完,下週再告訴你...
04/28 02:15, 7F

04/28 03:36, , 8F
樓上XD
04/28 03:36, 8F

04/28 13:37, , 9F
S大真幽默
04/28 13:37, 9F

04/28 14:21, , 10F
現在compiler會注意你的執行path 你老師以前應該沒看過
04/28 14:21, 10F

04/28 14:21, , 11F
(現在的gcc會嗎?)
04/28 14:21, 11F

04/28 14:35, , 12F
gcc 很早就會檢查了,只是你要開-Wall或-Wreturn-type
04/28 14:35, 12F

04/28 14:38, , 13F
我會要求 warning 全開並且把 warning msg 儘量清空
04/28 14:38, 13F

04/28 14:38, , 14F
因為會設這個 warning 代表可能有潛在的 bug
04/28 14:38, 14F

04/28 14:39, , 15F
我都 -Wall -Werror
04/28 14:39, 15F

04/28 15:24, , 16F
我也試過 -Werror ,但有時 warning 出在 3rd party 的
04/28 15:24, 16F

04/28 15:24, , 17F
.h 檔裡面... 你可以幫他修,但每次換版本都要再修一次
04/28 15:24, 17F

04/29 15:23, , 18F
GCC 可以用 pragma 選擇性 ignore 某些警告啊, 你在
04/29 15:23, 18F

04/29 15:24, , 19F
include 那些檔案時加一下就好了
04/29 15:24, 19F

04/29 15:24, , 20F

04/29 20:40, , 21F
可以追加搭配-Wextra服用
04/29 20:40, 21F

04/29 20:49, , 22F
我想起來了,後來是有用 #pragma warning disable 這招
04/29 20:49, 22F

04/29 20:50, , 23F
可是開啟 VC 的 warning as error 人人靠北,只好作罷
04/29 20:50, 23F
文章代碼(AID): #1N8Fe1Eu (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1N8Fe1Eu (C_and_CPP)