鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

非void函数没有写返回值时的运行行为存在差异

错误信息

1
2
warning: non-void function does not return a value in all control paths [-Wreturn-type]
Trace/breakpoint trap (core dumped)

问题介绍

编译器出于二进制安全考虑,会在没有返回值的分支插入非法指令,可能会导致运行时coredump。

解决方案

  • 为非void函数添加返回值;
  • 将没有返回值的函数类型修改为void;
  • 使用clang-tidy工具可以识别该类问题并提供修改建议。