我犯的最常见错误之一是我忘记从方法/函数返回结果,而编译器不会抱怨。
如果没有返回结果,如何让 GCC 引发编译错误?(这些通常是微不足道的情况,方法中没有 return 语句)
使用-Wreturn-type
(我会推荐至少-Wall
,也许也是-Wextra
)。当您不返回值时,它会发出警告;您可以使用-Werror
它来使其成为错误。
-Wall -Werror
使用标志编译。这将产生一个错误:
错误:函数中没有返回语句返回非 void
-Wall
本身只会产生警告。
我也建议编译-Wextra
。
g++ -Werror main.cpp -o main
警告为错误!-Wall 也有帮助