2014-10-08 66 views
6

我最近在我們的項目中遇到了雙return聲明(其中一個是錯誤地添加的),並想知道爲什麼compiler未顯示警告?返回聲明將永遠不會執行警告

好吧,我把-Wunreachable-code加到其他警告標誌上,但是還是沒有運氣。

了警告 - 一個代碼,後return語句中執行:

enter image description here

沒有得到警告,但仍第二return語句將永遠不會被執行。 enter image description here

即使我加上這樣的事情,仍然沒有警告

enter image description here

是否有額外的警告標誌是,或編譯器是不夠聰明?

+2

因爲您的方法返回退出之前執行該代碼 – 2014-10-08 10:51:21

+0

這兩個示例,那麼什麼? – Injectios 2014-10-08 10:54:57

+0

這兩個例子你的方法永遠不會執行後返回 – 2014-10-08 10:58:40

回答

2

好抓!

-Wunreachable-code不報告警告,並且沒有其他警告標誌可以做。
即使靜態分析儀也沒有發現這個錯誤!

+0

但所有的警告將消失...我想這是不適合topicstarter。 – Vlad 2015-05-15 15:11:58

+0

爲什麼所有的警告消失? '-Wunreachable-code'可以啓用**更多**警告,但它不會捕獲主題啓動程序提到的警告。 – fluidsonic 2015-05-15 15:14:36

+0

我的意思是關於其他「死碼」的警告。 – Vlad 2015-05-15 15:20:53

-1

(含6.1 XCode的GM 2測試)嘗試......

-(NSString*) makeSomeStringForMe { 

    NSString *someString = @"some string"; 

    return someString; 

} 
+0

)你可以編輯你的問題來添加這段代碼的解釋嗎?以及它如何解決這個問題? – Kenster 2015-03-24 17:22:40

0

使用-Wno-unreachable-code在構建階段您的文件。

相關問題