Allora io sto realizzando un linguaggio di programmazione e devo riuscire a capire se appunto ci sono ambiguità nelle invocazioni.Quindi come fa java, anche il mio linguaggio deve essere in grado di segnalare l'errore.Originariamente inviato da Kaamos
Sono le invocazioni ad essere ambigue lì, non le firme dei metodi: non trovando alcun metodo che accetti due int (5 è un letterale di tipo int), il linguaggio cerca di convertirlo al posto tuo, ma giustamente non sa cosa fare e la compilazione fallisce. Nell'ultimo esempio da te mostrato, dovresti essere tu a specificare i tipi dei parametri che stai passando: per chiamare il primo dovresti scrivere:
mentre per chiamare il secondo:codice:pippo(5.0, 5.0f)
Questo potrebbe esserti utile: http://docs.oracle.com/javase/tutori...datatypes.htmlcodice:pippo(5.0f, 5.0)
In alternativa ai letterali, c'è sempre il casting esplicito:
codice:pippo((float) 5, (double) 5)