![](/img/trans.png)
[英]What value is returned from a function implicitly if no value is returned explicitly from a function in c++ that has a return type integer or pointer
[英]How to force compiler error when no value is explicitly returned from function
我犯的一個最常見的錯誤是我忘記從方法/函數返回結果,並且編譯器不會抱怨。
如果沒有返回結果,如何讓GCC引發編譯錯誤? (這些通常是微不足道的情況,方法中沒有return語句)
使用-Wreturn-type
(我建議至少-Wall
,也許也是-Wextra
)。 當您不返回值時,它會發出警告; 你可以使用-Werror
使其成為一個錯誤。
使用-Wall -Werror
標志進行編譯。 這會產生錯誤:
錯誤:函數返回非void時沒有return語句
-Wall
本身只會產生警告。
我建議使用-Wextra
編譯。
g++ -Werror main.cpp -o main
警告為錯誤! 和-Wall也有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.