我最近读到C ++中所有函数的默认返回类型是int。谷歌搜索并不能帮助我确认这一点。
因此:
int吗?
- 真的是C ++中所有函数的默认返回类型
int吗?
没有。
- 如果不是,那么C ++中的函数是否存在任何此类默认返回类型?
没有。
让编译器为您提供帮助。如果您尝试按照以下方式进行操作,
noReturnType(int a, int b)
{
std::cout << a + b << "\n";
}
Run Code Online (Sandbox Code Playgroud)
你会得到例如
Run Code Online (Sandbox Code Playgroud)error: C++ requires a type specifier for all declarations noReturnType(int a, int b) ^
可以通过void在函数声明/定义(或要返回的任何类型)的前面添加来缓解这种情况。可能造成混淆的可能性是让编译器推断出返回类型的能力。这个示例在C ++ 14下可以很好地编译:
auto deduceReturnType(int a, int b)
{
return a + b; // return type is int
}
Run Code Online (Sandbox Code Playgroud)
但这与默认返回类型无关,也不能在auto此处省略。