Recibí la respuesta ¡NO! Porque pasar por valor y pasar por referencia parece idéntico a la persona que llama.¿Podemos sobrecargar una función basándose solo en si un parámetro es un valor o una referencia?
Sin embargo, el código de abajo compila derecho
class A {
public:
void f(int i) {}
void f(int& i) {}
};
Pero cuando trato de usarlo, no hay error de compilación.
int main() {
A a;
int i = 9;
int& j = i;
a.f(1);
a.f(i);
a.f(j);
return 0;
}
¿Por qué el compilador desactivarlo incluso sin saber que va a ser utilizado?
Sería de gran ayuda si mostró que el número de error del compilador y la línea real. –
dupe: http://stackoverflow.com/questions/930323/f5-and-int-x-fx-to-call-different-functions –