在 void 函数中允许返回"nothing"吗?

is return "nothing" permissible in a void function?

本文关键字:返回 nothing 函数 void 许返回      更新时间:2023-10-16

我很抱歉,但我仍在学习。请不要触碰我的声誉:)这个编译,我只是想知道是否有更好的解决方案。我觉得它不太优雅。如果(Price==0)我想在不做任何事情的情况下退出函数。

void Esempio(int Price)
{   
    if (Price==0)
       return;
    MyArray[0]=Price;
}

这是退出void函数的正确方法吗?我指的是返回。我突然想到,我从未见过"一无所有"。还有更"优雅"的吗?

谢谢。

这是退出void函数的正确方法吗?

是的。

任何更"优雅"的

void Esempio(int Price)
{   
    if(Price != 0)
        MyArray[0] = Price;
}

是的,它100%有效,在void函数中,return表示只完成此函数,不返回任何内容!

是的,这是合法的。

事实上,如果您在void函数中return而不是nothing,就像下面这样,将导致编译错误return-statement with a value, in function returning 'void'

//illegal code
void func(void)
{
    return 0;
}

我发现这是一个elegant方式

void Esempio(int Price)
{   
   if(Price)
      MyArray[0] = Price;
 }

if(Price)表示if(Price != 0)

void函数中,不需要在函数末尾有return语句。

您也可以重新考虑您的实施。当价格是0时,你真的想调用这个函数吗?

也许这种态度

void Esempio(int Price)
{   
   MyArray[0] = Price;
 }
if(Price) Esempio(Price);

将使您的程序更加简单。