Ralat C++: Bilangan parameter fungsi tidak sepadan Bagaimana saya harus mengubah suainya?

王林
Lepaskan: 2023-08-22 11:13:04
asal
1812 orang telah melayarinya

Ralat C++: Bilangan parameter fungsi tidak sepadan Bagaimana saya harus mengubah suainya?

Ralat C++: Bilangan parameter fungsi tidak sepadan, bagaimana saya harus mengubah suainya?

Apabila pengaturcaraan dalam C++, anda kadangkala akan menghadapi beberapa mesej ralat Salah satu ralat yang lebih biasa ialah "bilangan parameter fungsi tidak sepadan". Mesej ralat ini sangat jelas, yang bermaksud bahawa semasa panggilan fungsi, bilangan parameter yang dihantar ke fungsi tidak konsisten dengan bilangan parameter yang dinyatakan dalam definisi fungsi, menyebabkan pengkompil tidak dapat mengenal pasti logik program dengan betul, mengakibatkan dalam kesilapan.

Terdapat banyak sebab untuk mesej ralat ini, seperti takrifan dan pengisytiharan fungsi tidak sepadan, bilangan parameter sebenar fungsi tidak betul, dsb. Walau bagaimanapun, tidak kira sebab yang menyebabkan ralat, kita boleh menyelesaikan masalah melalui pengubahsuaian mudah. Seterusnya, mari kita bincangkan cara menyelesaikan ralat "bilangan parameter fungsi tidak sepadan".

  1. Definisi dan pengisytiharan fungsi tidak sepadan

Dalam C++, pengisytiharan dan definisi fungsi adalah elemen yang sangat penting. Pengisytiharan fungsi digunakan untuk memberitahu pengkompil nama, jenis pulangan, senarai parameter dan maklumat lain fungsi, manakala definisi fungsi ialah kod khusus yang melaksanakan fungsi. Dalam proses pengaturcaraan sebenar, kami biasanya meletakkan pengisytiharan fungsi dalam fail pengepala dan definisi fungsi dalam fail sumber. Walau bagaimanapun, jika kami mengisytiharkan fungsi dalam fail pengepala dan bilangan parameter tidak sepadan semasa mentakrifkan fungsi dalam fail sumber, mesej ralat "Bilangan parameter fungsi tidak sepadan" akan berlaku.

Sebagai contoh, kami mengisytiharkan fungsi dalam fail pengepala myfunction.h:

int myFunction(int a, int b, int c);
Salin selepas log masuk

Kemudian apabila kami mentakrifkan fungsi dalam fail sumber myfunction.cpp, hanya dua parameter ditakrifkan:

int myFunction(int a, int b)
{
    return a + b;
}
Salin selepas log masuk

Dalam kes ini, Pengkompil akan menjana ralat "Bilangan parameter fungsi tidak sepadan". Untuk menyelesaikan masalah ini, kita hanya perlu menyemak sama ada definisi fungsi sepadan dengan pengisytiharan. Hanya lengkapkan parameter dalam definisi:

int myFunction(int a, int b, int c)
{
    return a + b + c;
}
Salin selepas log masuk
  1. Bilangan sebenar parameter fungsi adalah salah

Satu lagi sebab biasa ralat "ketakpadanan dalam bilangan parameter fungsi" ialah semasa panggilan fungsi, bilangan parameter yang dihantar ke fungsi tidak betul Bilangan parameter sebenar adalah salah. Contohnya, apabila memanggil fungsi myFunction(), kami hanya lulus dua parameter:

int result = myFunction(1, 2);
Salin selepas log masuk

Walau bagaimanapun, dalam takrif myFunction(), tiga parameter diperlukan. Ini akan menyebabkan pengkompil berfikir bahawa kami tidak melepasi parameter sebenar yang mencukupi, mengakibatkan ralat "bilangan parameter fungsi tidak sepadan".

Untuk menyelesaikan masalah ini, kita hanya perlu menghantar parameter yang diperlukan kepada fungsi apabila memanggilnya. Cukup lengkapkan bilangan parameter yang diluluskan:

int result = myFunction(1, 2, 3);
Salin selepas log masuk

Ringkasan:

Dalam pengaturcaraan C++, adalah perkara biasa untuk menghadapi ralat seperti "bilangan parameter fungsi tidak sepadan". Penyelesaian kepada masalah ini adalah semudah menyemak bahawa pengisytiharan fungsi sepadan dengan takrifan, atau bilangan sebenar argumen yang dihantar kepada fungsi adalah betul. Saya harap artikel ini dapat membantu pembaca lebih memahami dan menyelesaikan masalah ralat "ketakpadanan dalam bilangan parameter fungsi".

Atas ialah kandungan terperinci Ralat C++: Bilangan parameter fungsi tidak sepadan Bagaimana saya harus mengubah suainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!