Câu hỏi được gắn thẻ «overload-resolution»


5
Tại sao việc thêm một phương thức sẽ thêm một cuộc gọi không rõ ràng, nếu nó không liên quan đến sự mơ hồ
Tôi có lớp học này public class Overloaded { public void ComplexOverloadResolution(params string[] something) { Console.WriteLine("Normal Winner"); } public void ComplexOverloadResolution<M>(M something) { Console.WriteLine("Confused"); } } Nếu tôi gọi nó như thế này: var blah = new Overloaded(); blah.ComplexOverloadResolution("Which wins?"); Nó ghi Normal Winnervào bảng điều khiển. Nhưng, nếu tôi …



1
Tại sao {} làm đối số hàm không dẫn đến sự mơ hồ?
Xem xét mã này: #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; } }; …

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.