【发布时间】:2015-09-22 13:12:27
【问题描述】:
编译以下代码时:
#include <iostream>
using namespace std;
void print(int i){
cout << i << endl;
}
void print(float i){
cout << i << endl;
}
int main(){
print(5);
print(5.5)
return 0;
}
我得到错误:
重载的'print(double)'调用不明确。
但是,如果我改变了
void print(float i){
到
void print(double i){
代码编译。这是为什么呢?
【问题讨论】:
-
5.5是double文字常量 - 将其更改为5.5f它将与float一起使用。 -
“重载 'print(double)' 的调用不明确”表示您没有使用浮点数
-
感谢大家的帮助
标签: c++ function overloading