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

今天写数据结构代码的时候,调试一段程序,结果发现编译器提示了一些错误信息:

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

经过百度查询,得知原因是自己定义了一个有返回值的函数,而函数结尾却没有返回值;

或者是主函数的结尾没有添加语句:return 0;

int main(void)
{
   //自己的代码
   return 0;//要添加这个语句
}

我看了看自己写的函数,非void的函数都有写返回值的,并且主函数也有添加返回0,为什么还会有这样的错误呢?

经过仔细思考后才明白,我的那个函数是找到了才有返回值的,如果没找到就没有返回值,

怪不得会提示这个错误信息,于是我在函数的最后添加了语句:return -1,编译一下,没有错误信息。

时间: 2024-10-10 12:39:50

warning: control reaches end of non-void function [-Wreturn-type]的相关文章

warning: control reaches end of non-void function 和 warning: implicit declaration of function 'rsgClearColor' is invalid in C99

用gcc编译一个程序的时候出现这样的警告: warning: control reaches end of non-void function 它的意思是:控制到达非void函数的结尾.就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值.这时候,最好检查一下是否每个控制流都会有返回值. <Android应用性能优化> p202 hellorendering.rs 文件: #pragma version(1) #pragma rs java_package_name(com.len

Warning : caught an JavaWebDeveloperException() in MobiAppAge.foward() function

今天在csdn首页看到一篇推荐文章<RethinkDB:为实时应用而生的开源数据库> 看了一段示例代码,如下: r.table(geo).get('sfo')('location').toGeojson.run(conn, callback); // result passed to callback { 'type': 'Point', 'coordinates': [ -122.423246, 37.779388 ] } 让我想起了ajax技术刚兴起的时候,有一个比较有名的javascri

[WARNING ] Key &#39;file_ignore_glob&#39; with value None has an invalid type of NoneType

今天,Ubuntu上安装了salt,执行报错 $ sudo salt '*' test.ping [WARNING ] Key 'file_ignore_glob' with value None has an invalid type of NoneType, a list is required for this value [WARNING ] Key 'file_ignore_glob' with value None has an invalid type of NoneType, a

Diesel-engined reaches all the the highest quality about type

Diesel-engined reaches all the the highest quality about type, and additionally frequently is actually as being the agency was created for 1978. Diesel-engined may make high of the country's halloween costumes along with the telephone number 1978 tea

error:control reaches end of non-void function [-Werror=return-type]

在做LeetCode上的题目时,出现了这个错误, 原代码如下: 1 class Solution { 2 public: 3 vector<int> twoSum(vector<int>& nums, int target) { 4 vector<int> v; 5 unordered_map<int, int> m; 6 for(int i=0;i<nums.size();++i) 7 { 8 int tt=target-nums[i]; 9

MFC中afx_msg是什么,afx_msg void function()是什么意思

应用程序框架产生的消息映射函数例如:afx_msg void OnBnClickedButton1(); 其中 afx_msg为消息标志,它向系统声明:有消息映射到函数实现体:而在map宏定义中,就有具体消息和此函数的映射定义(可以是自定义,也可以是系统自动完成的)afx是 application framework如定义一个Edit的Change处理函数:一.在类的头文件(*.h)中增加 : //{{AFX_MSG(CDialogDemo) afx_msg void OnChangeEdit1

auto function -&gt; return type 当不能从{}内推断类型时

示例: 1 template<class F, class... Args> 2 auto ThreadPool::enqueue(F&& f, Args&&... args) 3 -> std::future<typename std::result_of<F(Args...)>::type> result_of可以推断函数F(Args...)的返回值类型, auto ->表明函数返回类型为std::future<ty

GNU C __attribute__ 机制简介

摘要: 在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attribute__的相关使用.本文结合自己的学习经历,较为详细的介绍了__attribute__相关语法及其使用. --------------------------------------------------------- 声明: 此文为原创,欢迎转载,转载请保留如下信息 作者:聂飞(afreez) 北京-中关村 联系方式:[email protected] (欢迎与作者交流) 初次发布

GNU C 扩展(转)

GNU CC 是一个功能非常强大的跨平台 C 编译器,它对 C 语言提供了很多扩展,这些扩展对优化.目标代码布局.更安全的检查等方面提供了很强的支持.这里对支持支持 GNU 扩展的 C 语言成为 GNU C. 在 Linux 内核中使用了大量的 GNU C 扩展,以致 GNU C 成为了内核唯一的编译器. 1.语句表达式 GNU C 把包含在括号中的复合语句看做是一个表达式,称为语句表达式,它可以出现在任何允许表达式的地方,你可以在语句表达式中使用循环.局部变量等,原本只能在复合语句中使用.例如