Perguntas com a marcação «overload-resolution»


5
Por que adicionar um método adicionaria uma chamada ambígua, se não estaria envolvida na ambigüidade
Eu tenho essa aula public class Overloaded { public void ComplexOverloadResolution(params string[] something) { Console.WriteLine("Normal Winner"); } public void ComplexOverloadResolution<M>(M something) { Console.WriteLine("Confused"); } } Se eu chamar assim: var blah = new Overloaded(); blah.ComplexOverloadResolution("Which wins?"); Ele grava Normal Winnerno console. Mas, se eu adicionar outro método: public void ComplexOverloadResolution(string …



1
Por que {} como argumento de função não leva à ambiguidade?
Considere este código: #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 …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.