我得到了答案不!因爲按值傳遞和按引用傳遞看起來與調用者相同。只能根據參數是值還是參考來重載函數嗎?
但是,下面的代碼編譯正確
class A {
public:
void f(int i) {}
void f(int& i) {}
};
但是當我嘗試使用它,沒有編譯錯誤。
int main() {
A a;
int i = 9;
int& j = i;
a.f(1);
a.f(i);
a.f(j);
return 0;
}
爲什麼編譯器不會禁用它,即使不知道它將被使用?
這將幫助,如果你表現出實際的編譯器錯誤和行號。 – 2010-03-16 21:20:32
dupe:http://stackoverflow.com/questions/930323/f5-and-int-x-fx-to-call-different-functions – 2010-03-16 21:51:45