Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk menyelesaikan ralat sintaks C++: 'dijangka')' sebelum '&' token'?

Bagaimana untuk menyelesaikan ralat sintaks C++: 'dijangka')' sebelum '&' token'?

王林
Lepaskan: 2023-08-26 20:13:45
asal
1845 orang telah melayarinya

如何解决C++语法错误:'expected ')' before '&' token'?

Bagaimana untuk menyelesaikan ralat sintaks C++: 'dijangka')' sebelum '&' token'?

Dalam proses pengaturcaraan C++, pelbagai ralat sintaks sering dihadapi. Salah satu ralat biasa ialah: "dijangka ')' sebelum token '&'". Ralat ini biasanya berlaku dalam senarai parameter fungsi atau kaedah, menunjukkan bahawa pengkompil tidak dapat memahami kurungan kanan yang hilang sebelum pembolehubah atau jenis.

Yang berikut akan menerangkan secara terperinci cara menyelesaikan ralat ini dan memberikan beberapa contoh kod untuk membantu kami memahami dengan lebih baik.

Mula-mula, mari kita lihat kod sampel mudah:

void myFunction(int& num;
{
    // 函数体
}
Salin selepas log masuk

Dalam kod di atas, kurungan kanan tiada selepas int&) dalam senarai parameter, menyebabkan pengkompil melaporkan "'dijangka')' sebelum token '&' ' "kesilapan. Ralat menunjukkan bahawa kita harus menambah kurungan penutup sebelum &.

Seterusnya, mari kita betulkan ralat ini:

void myFunction(int& num)
{
    // 函数体
}
Salin selepas log masuk

Dalam kod tetap di atas, kami menambah kurungan penutup yang hilang selepas int& dan meletakkan badan fungsi pada kedudukan yang betul.

Satu lagi situasi biasa ialah ralat berlaku antara pengisytiharan dan definisi fungsi ahli kelas. Berikut ialah contoh:

class MyClass
{
public:
    void myFunction(int& num;
};

void MyClass::myFunction(int& num)
{
    // 函数体
}
Salin selepas log masuk

Dalam contoh di atas, kurungan kanan tiada selepas senarai parameter dalam pengisytiharan fungsi ahli kelas, menyebabkan pengkompil melaporkan "'dijangka')' sebelum token '&'. "kesilapan. Kita perlu menambah kurungan penutup yang hilang selepas senarai parameter.

Kod tetap adalah seperti berikut:

class MyClass
{
public:
    void myFunction(int& num);
};

void MyClass::myFunction(int& num)
{
    // 函数体
}
Salin selepas log masuk

Selain dua kes biasa ini, ralat ini juga boleh muncul di tempat lain. Tetapi tidak kira di mana ia muncul, penyelesaiannya adalah sama: cuma tambah kurungan penutup di mana ia tiada.

Perlu diingat bahawa ralat ini mungkin muncul lebih daripada sekali. Pengkompil mungkin menunjukkan ralat sintaks lain, mungkin disebabkan oleh ralat sebelumnya yang mengakibatkan kurungan penutup hilang. Oleh itu, sebelum menyelesaikan ralat kurungan penutup yang hilang, kita perlu menyemak dengan teliti sama ada terdapat ralat lain dalam kod tersebut.

Untuk mengelakkan ralat sedemikian, kita harus membangunkan tabiat pengekodan yang baik dan berhati-hati menyemak kod, terutamanya senarai parameter fungsi atau kaedah, untuk memastikan semua kurungan penutup diletakkan dengan betul.

Ringkasnya, apabila kita menghadapi ralat sintaks C++: "dijangka ')' sebelum token '&'", kita perlu menyemak dengan teliti sama ada kod itu tiada kurungan kanan. Dengan menambahkan kurungan penutup yang hilang, kami boleh menyelesaikan ralat ini dan memastikan kod tersebut disusun dengan betul.

Saya harap penyelesaian dan contoh kod yang disediakan dalam artikel ini dapat membantu anda memahami dan menyelesaikan ralat "jangkaan ')' sebelum '&' token". Selamat mengekod!

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat sintaks C++: 'dijangka')' sebelum '&' token'?. 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