La referencia a la función es ambigua [duplicada]
Esta pregunta ya tiene una respuesta aquí:
Extraño error ambiguo de llamada a función sobrecargada 11 respuestas¿Por qué esto causa un error del compilador que indica que mis referencias son ambiguas? tengo unfloat
, int
ystring
, que deberían crear firmas de funciones separadas, ¿verdad?
Aquí está lo que tengo hasta ahora:
#include <iostream>
#include <string>
using namespace std;
int plus(int a, int b);
float plus(float a, float b);
string plus(string a, string b);
int main(void)
{
int n = plus(3, 4);
double d = plus(3.2, 4.2);
string s = plus("he", "llo");
string s1 = "aaa";
string s2 = "bbb";
string s3 = plus(s1, s2);
}
int plus(int a, int b) {
return a+b;
} // int version
float plus(float a, float b) {
return a+b;
} // float version
string plus(string a, string b) {
return a+b;
} // string version