C++函数重载的4种错误示例
时间: 2024-03-01 14:53:03 浏览: 81
C++函数重载例子解析
1. 相同的函数名和参数列表,但返回类型不同:
```cpp
int foo(int x) {
return x + 1;
}
double foo(int x) {
return x + 1.0;
}
```
2. 相同的函数名和返回类型,但参数列表不同:
```cpp
int foo(int x) {
return x + 1;
}
int foo(int x, int y) {
return x + y + 1;
}
```
3. 函数重载只有名称不同,但参数列表完全相同:
```cpp
int foo(int x) {
return x + 1;
}
int bar(int x) {
return x + 1;
}
```
4. 函数重载只有参数类型的顺序不同,但参数个数和类型完全相同:
```cpp
int foo(int x, double y) {
return x + y;
}
int foo(double y, int x) {
return x + y;
}
```
以上四种情况都会导致编译器无法确定函数调用时应该调用哪个函数,从而产生错误。
阅读全文