没有返回类型的函数
function with no return type
我有2个问题,希望有人能给我澄清一下。
- 当写一个函数的输入参数列表是相同的参数?
- 当一个函数没有返回类型是"返回0;"只是离开了函数代码?
例如,如果我要写一个函数,在它的输入参数列表中使用整数,没有返回类型,这是正确的方式来写它吗?:
int convertTemp( int a, int b) {}
int convertTemp( int a, int b) {}
应: void convertTemp( int a, int b) {}
如果函数不返回任何东西,则int
表示函数的返回类型为int
。注意,您仍然可以在返回类型为void
的函数中使用return
语句。
我同意上面的答案,返回类型应该改为void,问第一个问题时,你需要区分形式参数和实际参数。形式参数为函数定义中的a和b:
void func (int a, int b) {}
,而函数调用中的实际形参是2和3:
func (2,3)
,其中2被复制到a, 3被复制到b。
您希望将返回类型设置为void
void convertTemp( int a, int b) {
//do stuff...
return; //optional, but a good habit to get in to
}
- 输入参数列表是输入类型和名称的列表。这些是作为调用代码中的值列表传递的。
- 如果没有返回值,则该函数声明为
void
返回类型,并且不应该在return
语句中给出值。
使用void
返回类型声明函数将不返回任何值:
void convertTemp( int a, int b) {
}
现在,函数如何转换一个Temp当它返回什么?
它绝对不应该在幕后修改一些状态(比如全局变量)。
返回转换后的值是我所期望的。
必须将void返回类型更改为转换结果的类型。
我肯定会在遇到上面这样的代码时进行调查。
相关文章:
- 检查函数返回类型是否与STL容器类型值相同
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 在 c++ 中将函数返回类型指定为模板参数
- 通过引用传递参数;函数返回类型是否必须为 VOID?
- 如何避免模板函数返回类型重复?
- 从类型bankAccount的返回值到函数返回类型int没有可行的转换
- 为什么在某些情况下从函数返回类型中删除 cv 限定符?
- 模板类内模板类的函数返回类型
- 为什么函数返回类型中不允许参数推导?
- 函数返回类型之前的"define"
- C++推断要隐式调用的模板函数返回类型
- 具有不同模板参数的函数返回类型
- 当函数返回类型为父类时,如何返回子类的对象?
- C++:在原型中声明"auto"函数返回类型仍然会导致在扣除错误之前使用"auto&quo
- C++14 'auto'能够获取函数返回类型,我们还需要 std::result_of<> 吗?
- 函数返回类型中的模板类型推断
- 嵌套模板类返回类型在 C++ 中的头文件中函数返回类型的语法
- C++重写 void 函数返回类型会导致生成失败
- 从函数内部推断函数返回类型
- C++嵌套类函数返回类型和命名空间