在void函数中允许返回“nothing”?

时间:2013-06-22 07:54:20

标签: c++

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

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

这是退出void函数的正确方法吗?我指的是回归。我刚想到我从未见过“什么都不回来”。还有什么更“优雅”的东西?

感谢。

4 个答案:

答案 0 :(得分:4)

  

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

是的,是的。

  

更“优雅”

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

是的,这是合法的。

事实上,你在{void}函数中除了return以外什么都没有,如下所示,会导致编译错误return-statement with a value, in function returning 'void'

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

答案 3 :(得分: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);

将使您的程序更加简单。