首页 理论教育 C++函数的返回值类型与示例错误用法

C++函数的返回值类型与示例错误用法

时间:2023-08-20 理论教育 版权反馈
【摘要】:对于每个函数,我们都需要指定它的返回值类型。接下来我们来看几个错误使用返回值的示例。动手写7.1.7动手写7.1.7展示了两种错误使用返回值为void的函数的情况,编译器会报出如图7.1.6所示的错误:图7.1.6错误使用返回值为void的函数我们可以看到,在doNothing()函数定义的函数体中我们添加了return语句,这与void的返回值类型不匹配。这里的return只提供了跳转的功能,而并不会返回任何值。

C++函数的返回值类型与示例错误用法

对于每个函数,我们都需要指定它的返回值类型。之前我们已经展示过指定int类型返回值的方法,以及如何将返回值赋值给其他变量,这对其他变量类型来说也是一样的。

虽然一个函数可能会返回一个值,但是我们也不一定要用这个值,类似于“doSomething();”这样的语句也是没有问题的,只是有时候我们可能确实忘了使用函数的返回值了。如果函数没有返回值,我们也需要指定它的返回值类型为void,这样一来,我们在函数体中就不需要添加return语句了。

接下来我们来看几个错误使用返回值的示例。

动手写7.1.7

动手写7.1.7展示了两种错误使用返回值为void的函数的情况,编译器会报出如图7.1.6所示的错误:

图7.1.6 错误使用返回值为void的函数

我们可以看到,在doNothing()函数定义的函数体中我们添加了return语句,这与void的返回值类型不匹配。而在main()函数中我们也将doNothing的返回值赋值给了num,这显然也是不行的。不过返回值为void的函数也可以用“return;”这样的语句提前退出函数,而不会返回任何实际数值。

动手写7.1.8

(www.xing528.com)

动手写7.1.8展示了返回值为void的函数的提前返回,运行结果如图7.1.7所示:

图7.1.7 返回值为void的函数的提前返回

我们可以看到,doNothingForOne()函数在参数为1的时候将会直接返回,而不执行后面的打印语句。这里的return只提供了跳转的功能,而并不会返回任何值。

动手写7.1.9

动手写7.1.9展示了关于返回值为int的函数的错误,编译器会报出如图7.1.8所示的错误:

图7.1.8 返回值为int的函数的错误

在函数定义中我们只定义了一个变量,但没有将其返回,由于函数的返回值类型不是void,这样编译器会报错。不过在main()函数中有些编译器会忽略没有返回值的情况而不报错。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈