函数定义时可以不写返回值类型,对吗?
时间: 2024-02-06 21:02:18 浏览: 207
是的,函数定义时可以不写返回值类型,这种情况下编译器会根据函数体中的语句推断出函数的返回值类型。这种方式被称为函数模板或自动类型推断。例如,下面的函数定义中就没有指定返回值类型:
```
auto add(int a, int b) {
return a + b;
}
```
在这种情况下,编译器会根据表达式 "a + b" 的类型推断出函数的返回值类型为 int。需要注意的是,自动类型推断虽然方便,但是有时会导致编译错误或者代码难以维护,因此建议在函数定义时显式指定返回值类型。
相关问题
scala编程的函数定义中,如果有 return,则不能省略返回值类型,必须指定,对吗?
在 Scala 中,函数的返回值类型可以省略,编译器会自动推断出返回值类型。但是当函数体内有 return 语句时,编译器无法推断出返回值类型,需要手动指定。因此,如果函数体内有 return,就不能省略返回值类型,必须显式指定。
阅读全文