Domande taggate «overload-resolution»


5
Perché l'aggiunta di un metodo aggiungerebbe una chiamata ambigua, se non fosse coinvolta nell'ambiguità
Ho questa classe public class Overloaded { public void ComplexOverloadResolution(params string[] something) { Console.WriteLine("Normal Winner"); } public void ComplexOverloadResolution<M>(M something) { Console.WriteLine("Confused"); } } Se lo chiamo così: var blah = new Overloaded(); blah.ComplexOverloadResolution("Which wins?"); Scrive Normal Winnersulla console. Ma se aggiungo un altro metodo: public void ComplexOverloadResolution(string something, object …



1
Perché {} come argomento della funzione non porta all'ambiguità?
Considera questo codice: #include <vector> #include <iostream> enum class A { X, Y }; struct Test { Test(const std::vector<double>&, const std::vector<int>& = {}, A = A::X) { std::cout << "vector overload" << std::endl; } Test(const std::vector<double>&, int, A = A::X) { std::cout << "int overload" << std::endl; } }; int …
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.