当函数没有显式返回值时,如何强制编译器出错
How to force compiler error when no value is explicitly returned from function
我最常见的错误之一是忘记返回方法/函数的结果,编译器也不会抱怨。
如果没有返回结果,如何使GCC引发编译错误?(这些通常是琐碎的情况,在方法中没有返回语句)
使用-Wreturn-type
(我建议至少使用-Wall
,也可以使用-Wextra
)。当您没有返回值时,它会发出警告;您可以使用-Werror
使其成为一个错误。
使用-Wall -Werror
标志编译。这将产生一个错误:
错误:返回非空的函数中没有返回语句
-Wall
本身仅产生警告。
我也建议使用-Wextra
进行编译。
g++ -Werror main.cpp -o main
警告为错误!和-墙也有助于
相关文章:
- 有没有办法强制C++编译器将变量存储在寄存器中?
- 如何在构造函数中传递 const 引用时强制编译器不接受右值
- 如何强制编译器在 C/C++ 本身中声明函数?
- 如何强制编译器显示隐式构造函数
- C++不给出越界错误.有没有办法强制编译器检查而不是未定义的行为?
- 如何强制编译器推导类模板参数
- 如何强制编译器发出错误的代码
- 有没有办法强制c++编译器不优化静态库中的特定静态对象
- 强制编译器选择常量运算符重载
- 如何强制 C++ 编译器使用寄存器
- 如何使用运算符==强制编译器警告
- 如何强制编译器或解释器查看二进制数二的补码?
- 强制编译器为模板类的所有成员函数生成代码
- 如何强制编译器识别模板化函数中的lambda类型
- C++:强制编译器使用两个竞争运算符中的一个
- 如何使用 CMake 强制 c++ 编译器使用不同已安装包的版本之一?
- 当使用template_back将元素添加到向量时,如何强制编译器使用默认构造函数
- 强制编译器显示变量的类型
- 如何强制编译器使用聚合初始化而不是构造函数
- 如何强制编译器将 C 名称修改为C++名称