Rumah > pembangunan bahagian belakang > C++ > Selesaikan masalah 'ralat: 'fungsi' tidak diisytiharkan dalam skop ini' dalam kod C++

Selesaikan masalah 'ralat: 'fungsi' tidak diisytiharkan dalam skop ini' dalam kod C++

王林
Lepaskan: 2023-08-27 13:55:48
asal
2534 orang telah melayarinya

解决C++代码中出现的“error: 'function' was not declared in this scope”问题

Selesaikan masalah "ralat: 'fungsi' tidak diisytiharkan dalam skop ini" dalam kod C++

Dalam proses pengaturcaraan C++, anda sering menghadapi pelbagai mesej ralat. Salah satu ralat biasa ialah "ralat: 'fungsi' tidak diisytiharkan dalam skop ini". Mesej ralat ini biasanya muncul semasa penyusunan, bermakna fungsi itu tidak diisytiharkan dalam skop semasa.

Terdapat banyak sebab yang mungkin untuk mesej ralat ini, tetapi berikut ialah beberapa penyelesaian biasa.

  1. Semak nama fungsi untuk kesilapan ejaan

Pertama, kita perlu menyemak sama ada nama fungsi itu dieja dengan betul. C++ adalah sensitif huruf besar-besaran, jadi perbezaan dalam huruf besar dan huruf kecil boleh menyebabkan fungsi tidak dikenali. Sebagai contoh, jika nama fungsi ialah "myFunction" tetapi "myfunction" digunakan dalam kod, pengkompil akan melaporkan ralat mengatakan bahawa fungsi itu tidak diisytiharkan dalam skop semasa.

Berikut ialah contoh:

#include<iostream>

void myFunction() {
    std::cout << "Hello, World!" << std::endl;
}

int main() {
    myfunction(); // 错误调用
    return 0;
}
Salin selepas log masuk

Dalam contoh ini, nama fungsi mempunyai perbezaan kes antara pengisytiharan dan panggilan. Kita boleh membetulkan ralat dengan menukar "myFunction" kepada "myfunction".

  1. Semak di mana fungsi diisytiharkan

Kemungkinan kedua ialah fungsi diisytiharkan di tempat yang salah. Jika fungsi diisytiharkan selepas tempat ia digunakan, pengkompil tidak akan mengenali fungsi tersebut.

Berikut ialah contoh:

#include<iostream>

int main() {
    myFunction(); // 错误调用

    void myFunction() {
        std::cout << "Hello, World!" << std::endl;
    }

    return 0;
}
Salin selepas log masuk

Dalam contoh ini, pengisytiharan fungsi datang selepas tempat ia dipanggil. Kami boleh membetulkan ralat dengan mengalihkan pengisytiharan ke hadapan panggilan.

  1. Tambah pengisytiharan hadapan fungsi

Jika pelaksanaan fungsi itu selepas tempat ia digunakan, kita boleh menyelesaikan masalah dengan menambah pengisytiharan hadapan fungsi tersebut. Pengisytiharan hadapan bermaksud mengisytiharkan prototaip fungsi terlebih dahulu sebelum menggunakannya.

Berikut ialah contoh:

#include<iostream>

void myFunction(); // 前向声明

int main() {
    myFunction(); // 正确调用

    return 0;
}

void myFunction() {
    std::cout << "Hello, World!" << std::endl;
}
Salin selepas log masuk

Dalam contoh ini, kami mengisytiharkan prototaip fungsi "myFunction" terlebih dahulu. Dengan cara ini, fungsi boleh dipanggil dengan betul dalam fungsi utama.

Dengan tiga penyelesaian di atas, kita boleh menyelesaikan masalah "ralat: 'fungsi' tidak diisytiharkan dalam skop ini". Apabila menulis kod C++, kita harus berhati-hati untuk mengelakkan ralat ejaan dan memastikan bahawa fungsi diisytiharkan di lokasi yang betul dan mengisytiharkan prototaip fungsi lebih awal jika diperlukan. Ini boleh meningkatkan kebolehbacaan dan kebolehselenggaraan program dan mengurangkan berlakunya ralat.

Atas ialah kandungan terperinci Selesaikan masalah 'ralat: 'fungsi' tidak diisytiharkan dalam skop ini' dalam kod C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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