c++ - C++中布尔函数的默认返回值是多少?
问题描述
如果我不返回某些东西,C++ 中布尔函数的返回值可能是什么?如果我只返回一个真值而不是假值,那么返回值是什么?这是我的代码:
bool f(int a)
{
// return value?
}
bool f(int a)
{
if(a%2) return true;
// return value here?
}
解决方案
返回类型是您在函数原型中定义的类型。请注意,C++ 中的函数没有默认返回值(特殊函数除外main
)。一个应该返回值的函数必须在其所有代码路径中返回一个值。否则你会产生未定义的行为。Cf,例如,这个在线C++ 工作草案:
9.6.3 返回语句
...
从构造函数、析构函数或具有 cv void 返回类型的函数的末尾流出等效于没有操作数的返回。否则,从除 main (6.8.3.1) 以外的函数的末尾流出会导致未定义的行为。
推荐阅读
- javascript - 类型错误:context.getters.Function 不是 Vuex 的函数
- asp.net - 使用 ViewModel 时,对象不会从视图传递到控制器
- groovy - 如何在 Jmeter 中运行 shell 脚本 - Groovy
- android - 开放式回答问卷应用程序的片段或活动
- ios - UIPageViewController 中的 InputAccessoryView 默认不显示
- mongodb - 从 MongoDB 中的所有对象中获取一些值
- c# - 在多目标项目中使用 TextReader
- python - PyQT5 未找到 zlib 错误
- php - PHP - 缩短运行来自不同服务器的表的查询的时间
- python - Python np.arange 奇怪的行为