小编Col*_*ton的帖子

C++ - 在同一函数的定义中调用一个函数

我正在编写类似于下面代码的东西,我不小心在函数定义的主体内部调用了相同的函数.

double function(double &value)
{
     //do something with a here
     if(some condition)
     {
           function(a);
     }
     return a;
}
Run Code Online (Sandbox Code Playgroud)

考虑一下这种形式:

int function(int &m)   {
    m = 2*m;
    if(m < 20)
    {
        function(m);
    }
    return m;
};

int main()  {
    int a = 2;
    std::cout <<"Now a = "<<function(a);
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

据我说,这不应该运行,更不用说编译了.但它确实运行并给出正确的结果

现在a = 32

在我完成定义它之前,我已经调用了该函数.然而,它有效.为什么?

c++ recursion function

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

function ×1

recursion ×1