Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ralat kompilasi C++: Bilangan parameter yang salah, bagaimana untuk mengubah suainya?

Ralat kompilasi C++: Bilangan parameter yang salah, bagaimana untuk mengubah suainya?

WBOY
WBOYasal
2023-08-22 09:31:461335semak imbas

Ralat kompilasi C++: Bilangan parameter yang salah, bagaimana untuk mengubah suainya?

Apabila menulis program C++, kita sering menghadapi pelbagai ralat kompilasi. Satu kesilapan biasa ialah bilangan parameter yang salah. Apabila kita menulis fungsi, jika nombor dan jenis parameter fungsi tidak sepadan dengan parameter yang disediakan semasa memanggil fungsi, ia akan menyebabkan ralat kompilasi. Dalam C++, pengkompil menyemak nombor dan jenis parameter fungsi pada masa penyusunan, jadi kita perlu memastikan padanan parameter fungsi untuk mengelakkan ralat penyusunan.

Jadi, apabila kita menghadapi ralat kompilasi C++: bilangan parameter yang salah, bagaimanakah kita harus mengubah suainya? Berikut ialah beberapa penyelesaian yang mungkin:

1 Semak senarai hujah fungsi

Mula-mula, kita perlu menyemak senarai hujah fungsi untuk memastikan ia sepadan dengan nombor dan jenis hujah yang disediakan apabila fungsi dipanggil. Jika ketidakpadanan ditemui, senarai parameter fungsi hendaklah diubah suai dengan segera untuk memadankan parameter yang disediakan apabila fungsi dipanggil.

Sebagai contoh, katakan kita menghadapi ralat dalam bilangan parameter semasa menulis fungsi yang mengira jumlah dua nombor:

int add(int a, int b)
{
    return a + b;
}
int main()
{
    int result = add(1, 2, 3);
    return 0;
}

Tiga parameter disediakan apabila fungsi memanggil add(1, 2, 3), dan fungsi Senarai parameter hanya mempunyai dua parameter, jadi pengkompil akan mengadu tentang bilangan parameter yang salah. Untuk membetulkan ralat ini, kita perlu mengubah suai senarai parameter fungsi tambah supaya ia sepadan dengan bilangan parameter yang disediakan apabila fungsi dipanggil:

int add(int a, int b, int c)
{
    return a + b + c;
}
int main()
{
    int result = add(1, 2, 3);
    return 0;
}

Sekarang, bilangan parameter fungsi sepadan dengan bilangan parameter yang disediakan apabila fungsi dipanggil, dan pengkompil tidak Laporkan ralat lagi.

2. Gunakan parameter lalai

Cara lain untuk menyelesaikan bilangan parameter yang salah ialah menggunakan parameter lalai. Parameter lalai ditentukan apabila fungsi ditakrifkan Jika beberapa parameter diabaikan apabila fungsi dipanggil, pengkompil akan mengisi parameter ini dengan nilai lalai.

Sebagai contoh, kita boleh mengubah suai senarai parameter tambah fungsi di atas kepada:

int add(int a, int b, int c = 0)
{
    return a + b + c;
}
int main()
{
    int result = add(1, 2);
    return 0;
}

Dalam contoh ini, kami menetapkan nilai lalai 0 untuk pembolehubah c dalam senarai parameter fungsi. Ini bermakna jika kita memanggil fungsi dengan hanya dua parameter, pengkompil akan mengisi parameter ketiga c dengan nilai lalai. Dalam contoh ini, panggilan fungsi add(1, 2) akan menetapkan parameter ketiga kepada 0, mengira keputusan 1+2+0=3.

3. Fungsi lebihan muatan

Cara lain untuk menyelesaikan bilangan parameter yang salah adalah dengan menggunakan lebihan fungsi. Lebihan beban fungsi merujuk kepada mengisytiharkan berbilang fungsi dengan nama yang sama tetapi senarai parameter yang berbeza dalam skop yang sama. Apabila kita memanggil fungsi ini dengan nama yang sama, pengkompil secara automatik akan memadankan fungsi yang sepadan berdasarkan jenis dan bilangan parameter yang disediakan apabila fungsi dipanggil.

Sebagai contoh, kita boleh mengubah suai fungsi tambah di atas kepada dua versi:

int add(int a, int b)
{
    return a + b;
}
int add(int a, int b, int c)
{
    return a + b + c;
}
int main()
{
    int result1 = add(1, 2);
    int result2 = add(1, 2, 3);
    return 0;
}

Dalam contoh ini, kita mentakrifkan dua fungsi tambah dengan nama yang sama, tetapi senarai parameternya berbeza. Apabila kita memanggil fungsi tambah, pengkompil secara automatik akan memadankan fungsi yang sepadan berdasarkan nombor dan jenis parameter yang disediakan. Sebagai contoh, apabila memanggil add(1, 2), pengkompil secara automatik akan memilih versi fungsi dengan senarai parameter sebagai (int, int), dan apabila memanggil add(1, 2, 3), pengkompil akan memilih fungsi secara automatik versi dengan senarai parameter sebagai (int, versi fungsi int, int).

Ringkasan

Ralat kompilasi ialah salah satu masalah biasa dalam pembangunan C++, dan bilangan parameter yang salah adalah salah satu jenis ralat yang lebih biasa. Apabila kami menghadapi ralat ini, kami perlu menyemak senarai parameter fungsi dan parameter yang disediakan semasa memanggil fungsi untuk memastikan nombor dan jenisnya sepadan. Jika tiada padanan, anda boleh menyelesaikan masalah dengan mengubah suai senarai parameter fungsi, menggunakan parameter lalai atau melebihkan fungsi.

Atas ialah kandungan terperinci Ralat kompilasi C++: Bilangan parameter yang salah, bagaimana untuk mengubah suainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn