Pertanyaan yang diberi tag «overload-resolution»


5
Mengapa menambahkan metode menambahkan panggilan ambigu, jika itu tidak akan terlibat dalam ambiguitas
Saya memiliki kelas ini public class Overloaded { public void ComplexOverloadResolution(params string[] something) { Console.WriteLine("Normal Winner"); } public void ComplexOverloadResolution<M>(M something) { Console.WriteLine("Confused"); } } Jika saya menyebutnya seperti ini: var blah = new Overloaded(); blah.ComplexOverloadResolution("Which wins?"); Ini menulis Normal Winnerke konsol. Tapi, jika saya menambahkan metode lain: public void …



1
Mengapa {} sebagai argumen fungsi tidak mengarah pada ambiguitas?
Pertimbangkan kode ini: #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 …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.