首页 > 解决方案 > C++中布尔函数的默认返回值是多少?

问题描述

如果我不返回某些东西,C++ 中布尔函数的返回值可能是什么?如果我只返回一个真值而不是假值,那么返回值是什么?这是我的代码:

bool f(int a)
{
//    return value?
}

bool f(int a)
{
    if(a%2) return true;
//    return value here?
}

标签: c++boolean

解决方案


返回类型是您在函数原型中定义的类型。请注意,C++ 中的函数没有默认返回值(特殊函数除外main)。一个应该返回值的函数必须在其所有代码路径中返回一个值。否则你会产生未定义的行为。Cf,例如,这个在线C++ 工作草案

9.6.3 返回语句

...

从构造函数、析构函数或具有 cv void 返回类型的函数的末尾流出等效于没有操作数的返回。否则,从除 main (6.8.3.1) 以外的函数的末尾流出会导致未定义的行为。


推荐阅读