以下程式碼編譯後可執行,但為什麼不會輸出max called
#include <iostream>
using namespace std;
void max(double a, int b) {
cout << "max called";
}
int main() {
max(3, 4);
return 0;
}
以下程式碼編譯後可執行,但為什麼不會輸出max called
#include <iostream>
using namespace std;
void max(double a, int b) {
cout << "max called";
}
int main() {
max(3, 4);
return 0;
}
因为c++中<iostream>
包含了一个max()函数<iostream>
包含的max()函数参数与你定义的max()函数不一样.等于是对max()函数进行了多态定义
max(3, 4); 调用的是`<iostream>`包含的max()函数
max(3.0, 4); 调用的是你自己定义的max()函数