【发布时间】:2011-07-24 19:56:42
【问题描述】:
是否声明如下内容
void foo(int x) { std::cout << "foo(int)" << std::endl; }
void foo(const int &x) { std::cout << "foo(const int &)" << std::endl; }
有意义吗?调用者如何区分它们?我试过了
foo(9); // Compiler complains ambiguous call.
int x = 9;
foo(x); // Also ambiguous.
const int &y = x;
foo(y); // Also ambiguous.
【问题讨论】:
标签: c++ pass-by-reference pass-by-value overloading