如何从C ++中的void函数退出?


158

如果它是void函数,如何过早退出函数而不返回值?我有一个void方法,如果某个条件为true,则无需执行其代码。我真的不想更改实际返回值的方法。


9
尽管这是一个非常简单的问题,我还是投票赞成,因为当我编写第一个C程序时遇到了同样的问题:)
rmeador

11
@itsbunnies:正如其他地方所提到的,没有任何编程问题太简单而无法在SO上提出。如果您遇到麻烦,过去的别人也会如此,将来的别人也会如此。
比尔蜥蜴

@BilltheLizard:谁遇到了这个问题的第一个程序呢?谁曾在这个问题他的过去呢?;-)
flarn2006

1
我自己也有这个问题:)
Moldovean

请注意,您可以随时重写始终返回到底部的函数,这是一种结构化的编程原理(一个入口,一个出口),
Malcolm McLean

Answers:


195

使用return语句!

return;

要么

if (condition) return;

如果您的方法返回,则无需(也不能)指定任何值void


2
更重要的是:如果您的方法返回void,则一定不要指定任何返回值。
乔纳森·莱夫勒

啊哈,所以当我们写回报时;不返回任何东西就意味着自身会返回无效吗?空意味着什么都没有!!嗯,我明白了。
Quantum231

@ quantum321我认为返回值在技术上是不确定的,不是无效的,但将其视为“ void”是有用的。
Person Person II博士

@ Dr.PersonPersonII表示“如果您的方法返回“ void””,则表示该方法的返回类型声明为的纯语法视图void。从技术上讲,该方法不返回任何内容。这与返回undefined不同。
Mehrdad Afshari 2013年

2
实际上,您也可以写return void():)
轨道竞赛

12

你的意思是这样吗?

void foo ( int i ) {
    if ( i < 0 ) return; // do nothing
    // do something
}

10
void foo() {
  /* do some stuff */
  if (!condition) {
    return;
  }
}

您可以像在其他函数中一样使用return关键字。


-1

我知道问题已经回答,可以使用return语句来完成工作。但是,或者,您也可以将其他功能包括elseif条件块中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.