Rumah pembangunan bahagian belakang C++ Selesaikan ralat kompilasi C++: 'fungsi' tidak mengambil argumen 'n'

Selesaikan ralat kompilasi C++: 'fungsi' tidak mengambil argumen 'n'

Aug 25, 2023 pm 09:10 PM
Parameter fungsi Penyelesaian ralat penyusunan c++

解决C++编译错误:'function' does not take 'n' arguments

Menyelesaikan ralat kompilasi C++: 'fungsi' tidak mengambil argumen 'n'

Dalam pengaturcaraan C++, pelbagai ralat kompilasi sering dihadapi. Salah satu ralat biasa ialah: "'fungsi' tidak mengambil argumen 'n'", yang bermaksud bahawa fungsi itu tidak menerima n parameter.

Ralat ini biasanya berlaku apabila fungsi dipanggil Parameter sebenar yang dihantar tidak konsisten dengan bilangan parameter yang diperlukan apabila fungsi diisytiharkan, atau jenis tidak sepadan. Terdapat beberapa cara untuk menyelesaikan ralat ini.

  1. Semak nombor dan jenis parameter panggilan fungsi
    Pertama, kita perlu menyemak sama ada nombor dan jenis parameter panggilan fungsi adalah konsisten dengan pengisytiharan fungsi. Jika pengisytiharan fungsi memerlukan n parameter, maka n parameter mesti dihantar semasa memanggil fungsi, dan jenis parameter mesti konsisten dengan pengisytiharan. Sebagai contoh, dalam kod sampel berikut, fungsi add() memerlukan dua parameter jenis int apabila ia diisytiharkan, tetapi hanya satu parameter diluluskan apabila ia dipanggil.
#include <iostream>

int add(int a, int b)
{
    return a + b;
}

int main()
{
    int result = add(1);
    std::cout << result << std::endl;
    return 0;
}
Salin selepas log masuk

Apabila menyusun kod ini, ralat berlaku: "'add' tidak mengambil 1 argumen". Cara untuk menyelesaikan ralat ini adalah dengan memasukkan dua parameter jenis int apabila memanggil fungsi add().

int result = add(1, 2);
Salin selepas log masuk
  1. Semak sama ada pengisytiharan dan definisi fungsi adalah konsisten
    Jika pengisytiharan dan definisi fungsi tidak konsisten, ia juga akan menyebabkan ralat kompilasi. Pengisytiharan fungsi biasanya diletakkan dalam fail pengepala, manakala definisi fungsi biasanya diletakkan dalam fail sumber. Jika fungsi yang diisytiharkan dalam fail pengepala tidak konsisten dengan bilangan atau jenis parameter fungsi yang ditakrifkan dalam fail sumber, ralat kompilasi akan berlaku.

Cara untuk menyelesaikan masalah ini adalah dengan memastikan pengisytiharan dan definisi fungsi adalah konsisten. Sebagai contoh, dalam kod sampel berikut, pengisytiharan dan takrifan fungsi add() adalah tidak konsisten dengan bilangan parameter. Ia memerlukan dua parameter jenis int apabila mengisytiharkannya, tetapi terdapat hanya satu parameter apabila ia ditakrifkan.

// 头文件 add.h
int add(int a, int b);

// 源文件 add.cpp
int add(int a)
{
    return a + 2;
}

// 主程序
#include <iostream>
#include "add.h"

int main()
{
    int result = add(1, 2);
    std::cout << result << std::endl;
    return 0;
}
Salin selepas log masuk

Semasa menyusun kod ini, ralat berlaku: "'add' tidak mengambil 2 argumen". Cara untuk menyelesaikan ralat ini adalah dengan menghantar dua parameter jenis int apabila fungsi ditakrifkan, menjadikannya konsisten dengan pengisytiharan.

// 源文件 add.cpp
int add(int a, int b)
{
    return a + b;
}
Salin selepas log masuk
  1. Gunakan lebihan fungsi
    Dalam C++, anda boleh menggunakan lebihan fungsi untuk menyelesaikan masalah bilangan parameter yang tidak konsisten. Lebihan beban fungsi merujuk kepada mentakrifkan berbilang fungsi dengan nama yang sama dalam skop yang sama, tetapi dengan nombor atau jenis parameter yang berbeza.

Sebagai contoh, kita boleh membebankan fungsi add() supaya ia menerima sama ada dua atau tiga parameter. Berikut ialah kod sampel:

#include <iostream>

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);
    std::cout << result1 << std::endl;

    int result2 = add(1, 2, 3);
    std::cout << result2 << std::endl;

    return 0;
}
Salin selepas log masuk

Menggunakan lebihan fungsi boleh menyesuaikan secara fleksibel kepada panggilan fungsi dengan bilangan parameter yang berbeza dan mengelakkan ralat penyusunan dengan bilangan parameter yang tidak konsisten.

Pelbagai ralat kompilasi sering dihadapi dalam pengaturcaraan Untuk ralat "'function' tidak mengambil argumen 'n'", kita boleh menyemak nombor dan jenis parameter dalam panggilan fungsi untuk memastikan pengisytiharan dan definisi fungsi adalah konsisten. , dan gunakan Fungsi lebihan beban dan kaedah lain boleh digunakan untuk menyelesaikan masalah ini. Pengendalian ralat dan penyahpepijatan yang tepat pada masanya boleh meningkatkan kecekapan pengaturcaraan dan membantu kami menulis kod yang lebih mantap dan boleh dipercayai.

Atas ialah kandungan terperinci Selesaikan ralat kompilasi C++: 'fungsi' tidak mengambil argumen 'n'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika roda tetikus gagal dan melompat ke atas dan ke bawah secara rawak? Kongsi tiga penyelesaian Apakah yang perlu saya lakukan jika roda tetikus gagal dan melompat ke atas dan ke bawah secara rawak? Kongsi tiga penyelesaian Mar 13, 2024 pm 07:28 PM

Tetikus adalah salah satu peranti komputer yang paling penting Walau bagaimanapun, semasa penggunaan, roda tetikus pasti akan rosak atau melompat ke atas dan ke bawah, yang sangat menjejaskan operasi pengguna. Mari kita lihat tiga cara untuk menyelesaikan masalah lompatan roda tetikus secara rawak. Kaedah 1: Periksa tetikus yang dihasilkan oleh jenama yang berbeza mempunyai ciri tersendiri. Sesetengah roda tetikus mempunyai kepekaan yang tinggi atau redaman rendah, yang boleh menyebabkan roda melompat secara tidak menentu. Untuk menentukan sama ada masalahnya adalah dengan tetikus itu sendiri, anda boleh menyentuh sedikit roda tetikus dan melihat halaman bergerak pada skrin. Jika anda mendapati bahawa tetikus anda menatal terlalu sensitif, anda mungkin ingin mempertimbangkan untuk membeli tetikus baharu untuk menyelesaikan masalah. Kaedah 2: Semak tetapan tetikus Tetapan tetikus yang tidak betul boleh menyebabkan roda tetikus melompat secara rawak.

Kongsi kaedah untuk menyelesaikan kegagalan PyCharm untuk bermula Kongsi kaedah untuk menyelesaikan kegagalan PyCharm untuk bermula Feb 20, 2024 am 09:46 AM

PyCharm ialah persekitaran pembangunan bersepadu (IDE) Python yang berkuasa yang digunakan secara meluas dalam kerja harian pembangun Python. Walau bagaimanapun, kadangkala kami mungkin menghadapi masalah bahawa PyCharm tidak boleh dibuka seperti biasa, yang boleh menjejaskan kemajuan kerja kami. Artikel ini akan memperkenalkan beberapa masalah dan penyelesaian biasa apabila PyCharm tidak boleh dibuka, dan memberikan contoh kod khusus, dengan harapan dapat membantu anda menyelesaikan masalah ini dengan lancar. Masalah 1: PyCharm ranap atau menjadi tidak responsif Sebab yang mungkin: PyCh

Ralat 629 penyelesaian sambungan jalur lebar Ralat 629 penyelesaian sambungan jalur lebar Feb 20, 2024 am 08:06 AM

Penyelesaian kepada Ralat 629 Sambungan Jalur Lebar Dengan perkembangan pesat teknologi Internet, jalur lebar telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian kita. Walau bagaimanapun, kadangkala kita mungkin menghadapi beberapa masalah semasa menggunakan jalur lebar, seperti Ralat 629 Ralat Sambungan Jalur Lebar. Ralat ini biasanya menyebabkan kita tidak dapat mengakses Internet secara normal dan membawa banyak kesulitan. Dalam artikel ini, kami akan berkongsi beberapa kaedah untuk menyelesaikan Ralat 629 Sambungan Jalur Lebar untuk membantu anda menyelesaikan masalah ini dengan cepat. Pertama, isu sambungan jalur lebar Ralat 629 biasanya disebabkan oleh konfigurasi rangkaian atau isu pemacu

Kongsi tiga penyelesaian mengapa pelayar Edge tidak menyokong pemalam ini Kongsi tiga penyelesaian mengapa pelayar Edge tidak menyokong pemalam ini Mar 13, 2024 pm 04:34 PM

Apabila pengguna menggunakan penyemak imbas Edge, mereka mungkin menambahkan beberapa pemalam untuk memenuhi lebih banyak keperluan mereka. Tetapi apabila menambah pemalam, ia menunjukkan bahawa pemalam ini tidak disokong. Bagaimana untuk menyelesaikan masalah ini? Hari ini, editor akan berkongsi dengan anda tiga penyelesaian. Kaedah 1: Cuba gunakan pelayar lain. Kaedah 2: Flash Player pada penyemak imbas mungkin sudah lapuk atau tiada, menyebabkan pemalam tidak disokong Anda boleh memuat turun versi terkini dari tapak web rasmi. Kaedah 3: Tekan kekunci "Ctrl+Shift+Delete" pada masa yang sama. Klik "Kosongkan Data" dan buka semula penyemak imbas.

Hubungan antara kaedah lulus parameter fungsi C++ dan keselamatan benang Hubungan antara kaedah lulus parameter fungsi C++ dan keselamatan benang Apr 12, 2024 pm 12:09 PM

Kaedah lulus parameter fungsi dan keselamatan benang: Lulus nilai: Buat salinan parameter tanpa menjejaskan nilai asal, biasanya selamat benang. Lulus dengan rujukan: Melepasi alamat, membenarkan pengubahsuaian nilai asal, biasanya tidak selamat untuk benang. Hantaran penunjuk: Menghantar penunjuk ke alamat adalah serupa dengan lulus melalui rujukan dan biasanya tidak selamat untuk benang. Dalam program berbilang benang, rujukan dan hantaran penunjuk harus digunakan dengan berhati-hati, dan langkah perlu diambil untuk mencegah perlumbaan data.

Masalah biasa dan penyelesaian kepada ralat pemasangan pyqt5 Masalah biasa dan penyelesaian kepada ralat pemasangan pyqt5 Jan 19, 2024 am 10:00 AM

Dengan populariti Python, PyQt5 telah menjadi salah satu alat pilihan pertama untuk ramai orang untuk pembangunan GUI yang cepat Walau bagaimanapun, masalah pemasangan tidak dapat dielakkan. Berikut ialah beberapa masalah biasa dengan pemasangan PyQt5 dan penyelesaiannya. Mesej ralat semasa memasang PyQt5 ialah modul sip tidak dapat ditemui Masalah ini biasanya berlaku apabila menggunakan pip untuk memasang PyQt5. Sebab ralat ini adalah kekurangan kebergantungan pada modul sip, jadi anda perlu memasang modul sip secara manual terlebih dahulu. Masukkan kod berikut pada baris arahan: pipinsta

Penyelesaian kegagalan butang mesin basuh (ajar anda cara menangani masalah kegagalan butang mesin basuh) Penyelesaian kegagalan butang mesin basuh (ajar anda cara menangani masalah kegagalan butang mesin basuh) Jul 24, 2024 pm 03:58 PM

Mesin basuh memainkan peranan penting dalam kehidupan seharian kita Namun, kadangkala butang mesin basuh didapati tidak berfungsi. Keadaan ini mungkin mengganggu kita kerana ia menjejaskan operasi mencuci biasa kita. Walau bagaimanapun, jangan risau, artikel ini akan memperkenalkan anda kepada beberapa kaedah untuk menyelesaikan masalah butang tidak berfungsi pada mesin basuh anda. 1. Periksa sambungan kuasa - palam dipasang dengan betul: Pastikan palam kuasa mesin basuh dimasukkan dengan kukuh ke dalam soket. -Sama ada suis kuasa dihidupkan: Periksa sama ada suis kuasa dihidupkan. 2. Bersihkan permukaan butang - tutup: pertama matikan mesin basuh dan cabut palam kuasa untuk memastikan keselamatan. Kegagalan Butang Mesin Basuh Menyelesaikan Masalah Pembersihan Air Suam Gunakan air suam dan detergen neutral untuk mengelap permukaan butang dengan perlahan. Pelarasan butang dan mulakan semula kedudukan butang pelarasan: semak sama ada butang itu

Penjelasan terperinci tentang parameter fungsi C++: kaedah pelaksanaan, kelebihan dan keburukan lulus parameter tidak tentu Penjelasan terperinci tentang parameter fungsi C++: kaedah pelaksanaan, kelebihan dan keburukan lulus parameter tidak tentu Apr 28, 2024 am 09:48 AM

Lulus parameter tidak tentu C++: dilaksanakan melalui... operator, yang menerima sebarang bilangan parameter tambahan Kelebihan termasuk fleksibiliti, skalabiliti dan kod dipermudahkan Kelemahan termasuk overhed prestasi, kesukaran penyahpepijatan dan keselamatan jenis. Contoh praktikal biasa termasuk printf() dan std::cout, yang menggunakan va_list untuk mengendalikan bilangan parameter yang berubah-ubah.

See all articles