c – 缺少返回值的函数,运行时的行为
发布时间:2020-12-16 03:14:48 所属栏目:百科 来源:网络整理
导读:如预期的那样,编译器(VisualStudio 2008)将发出警告 warning C4715: ‘doSomethingWith’ : not all control paths return a value 编译以下代码时: int doSomethingWith(int value){ int returnValue = 3; bool condition = false; if(condition) // retur
如预期的那样,编译器(VisualStudio 2008)将发出警告
编译以下代码时: int doSomethingWith(int value) { int returnValue = 3; bool condition = false; if(condition) // returnValue += value; // DOH return returnValue; } int main(int argc,char* argv[]) { int foo = 10; int result = doSomethingWith(foo); return 0; } 但程序运行正常.函数doSomethingWith()的返回值为0. 是只是未定义的行为,还是有一定的规则如何在运行时创建/计算结果值.非POD数据类型作为返回值会发生什么? 解决方法
它是ISO C标准第6.6.3节中规定的未定义行为:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – WPF自定义控件DependencyProperty不会数据绑定
- ios – 在Swift Bridging Header中包含Google Analytics
- ruby-on-rails – 错误:mime-types-data需要Ruby版本> = 2
- flex 字符串转日期及日期比较
- c# – WPF数据绑定:根据var的内容启用/禁用控件?
- ruby-on-rails – migrations:t.references不允许指定索引
- ORACLE触发器
- 2, 改善深层神经网络:超参数调试、正则化以及优化
- postgreSql 利用触发器创建动态表
- c# – WPF ListView键盘导航问题