栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++报错illegal instruction

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++报错illegal instruction

  环境描述:ubuntu18.04 + cmake version 3.10.2 + g++ version 7.5.0
  场景描述:跑程序的时候遇到了一个错误:illegal instruction。使用cmake进行编译,编译是通过的,但是运行可执行文件的时候就会报错。用gdb去查发现停在了一个很普通的函数上(而且让我最纳闷的是我之前用g++编译,最后是可以运行的)

  最后上网找到了答案(有点儿蠢),是我在int类型的函数中没有写return。这个编译的时候并没有报错,但提示了一个warning。加上return或者把函数返回值类型修改为void,程序正常运行。

  warning具体是:

warning: control reaches end of non-void function [-Wreturn-type]

  这个bug给我两个教训:
  1)以后一定要重视warning,编译通过了,程序还可能因为warning存在潜在的问题。
  2)有返回值的函数一定要写return

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005036.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号