我在定义结尾处有一个与函数无关的问题而没有return语句。这个怎么运作?它可以返回一些东西,因为当我们调用func时,返回的值是用随机数分配在堆栈上的吗?请查看以下示例:
#include <iostream>
using namespace std;
int fun1(){
cout << "Fun1" << endl;
}
char fun2(){
cout << "Fun2" << endl;
}
short fun3(){
cout << "Fun3" << endl;
}
float fun4(){
cout << "Fun4" << endl;
}
double fun5(){
cout << "Fun5" << endl;
}
int main()
{
cout << fun1() << " " << endl;
cout << fun2() << " " << endl;
cout << fun3() << " " << endl;
cout << fun4() << " " << endl;
cout << fun5() << " " << endl;
}
答案 0 :(得分:-5)
为了创建一个没有任何return语句的函数,你需要使它成为一个“void”函数。请记住,用于定义函数的变量类型是将在函数末尾返回的变量类型。如果你的函数是Int类型,它需要一个Integer作为回报。如果你的函数是Char类型,它需要返回一个Character。
上面的例子不起作用,因为在每种情况下,编译器都期望函数结束时返回。但是如果你在每个函数名之前都有“void int”,那么这些函数就可以工作了。
void int fun1()
{
cout << "Fun1" << end;
}