首页 > 解决方案 > 即使没有返回语句也返回 C++ 值

问题描述

考虑以下程序:

int b(int in)
{
    return in + 1;
}

int a(int in)
{
    b(in); // return statement forgotten
}

int main()
{
    std::cout << "returned: " << a(5) << "\n"; 
}

VC++ 给出了关于缺少“返回”的错误。英特尔编译器仅发出警告(在非无效函数“a”末尾缺少返回语句),但最令人惊讶的是,在运行时代码确实返回了正确的值,并且打印输出为:

returned: 6

怎么来的?

使用英特尔 C++ 编译器 19.0

标签: c++return-valueintel

解决方案


推荐阅读