Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Resolusi Kaedah Terlebih Mengendalikan Nilai Null?
Resolusi Kaedah Terlebih Beban dan Hujah Null
Proses memilih kaedah terlebih beban yang betul apabila hujah nol disediakan mengikut urutan langkah tertentu.
1. Kebolehcapaian:
Pada mulanya, pengkompil menapis mana-mana kaedah terlebih beban yang tidak boleh diakses berdasarkan hak akses kod panggilan.
2. Kebolehgunaan:
Seterusnya, ia mengenal pasti kaedah yang berkenaan. Kaedah dianggap terpakai jika setiap parameter formal mempunyai hujah yang sepadan yang boleh ditukar secara tersirat. Nilai nol tidak boleh ditukar secara tersirat kepada jenis nilai (seperti int
atau Point
), menghapuskan kaedah tersebut daripada pertimbangan.
3. params
Kaedah Pengendalian:
Kaedah menggunakan kata kunci params
boleh digunakan sama ada dikembangkan (melayan tatasusunan sebagai argumen individu) atau tidak dikembangkan (merawatnya sebagai argumen tatasusunan tunggal). Jika kedua-duanya berkenaan, borang yang dikembangkan lebih disukai dan versi yang tidak dikembangkan akan dibuang.
4. Pilihan Padanan Terbaik:
Akhir sekali, pengkompil membandingkan baki kaedah yang boleh digunakan untuk mencari padanan yang paling spesifik. Kaedah dengan jenis parameter yang lebih khusus dianggap lebih khusus daripada kaedah yang lebih umum.
Dalam senario dengan kekaburan (berbilang kaedah yang sama khusus), seperti dalam contoh yang diberikan, pengkompil tidak dapat menentukan calon terbaik, mengakibatkan ralat penyusunan. Jenis parameter object
kurang spesifik daripada kedua-dua object[]
dan string
, yang membawa kepada kekaburan ini.
Atas ialah kandungan terperinci Bagaimanakah Resolusi Kaedah Terlebih Mengendalikan Nilai Null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!