Rumah > Artikel > pembangunan bahagian belakang > Ralat C++: Gagal memautkan fungsi dengan betul, bagaimana untuk menanganinya?
Apabila menulis program dalam C++, kadangkala anda menghadapi masalah tidak memautkan fungsi dengan betul. Ini biasanya berlaku apabila pengkompil tidak dapat mencari definisi fungsi. Apabila masalah ini berlaku, kita perlu menanganinya. Seterusnya, kami akan memperkenalkan definisi fungsi yang tidak boleh dipautkan dengan betul dan cara menanganinya.
1. Gagal memautkan definisi fungsi dengan betul
Gagal memautkan fungsi dengan betul, yang bermaksud bahawa pengkompil tidak boleh mengaitkan rujukan simbol dengan definisi simbol dan tidak dapat mencari pelaksanaan fungsi yang diperlukan. Semasa menyusun, pengkompil akan menyemak sama ada fungsi yang digunakan dalam kod itu mempunyai pelaksanaan Jika tiada pelaksanaan ditemui, ia akan mengeluarkan ralat "simbol yang tidak dapat diselesaikan" Mesej ralat ini biasanya menunjukkan fail dan baris mana ralat berlaku. Mesej ralat biasa adalah seperti berikut:
xxx.obj : error LNK2019: unresolved external symbol “symbol” referenced in function “function”
xxx.exe : fatal error LNK1120: 1 unresolved externals
Antaranya, xxx
mewakili nama program, symbol
ialah nama simbol yang tidak ditemui dan function code> ialah simbol yang dipanggil nama fungsi. <code>xxx
表示程序名,symbol
是未找到的符号名,function
是调用该符号的函数名。
二、未能正确链接函数的原因
常见的原因是缺少库文件,而库文件中包含了函数的定义。解决方法是添加此库文件路径到项目属性的附加库目录下。
有时候函数的定义与声明不一致,如函数定义为int func(int a)
,但在调用时发现函数声明为int func(char a)
int func(int a)
, tetapi apabila ia berlaku dipanggil, didapati bahawa pengisytiharan fungsi ialah int func(char a)
. Dalam kes ini, definisi dan pengisytiharan perlu diubah supaya konsisten.
Semak ejaan nama fungsi
🎜🎜Pastikan nama fungsi dieja dengan betul dan konsisten dengan definisi. 🎜🎜🎜Masukkan pelaksanaan fungsi ke dalam fail pengepala🎜🎜🎜Masukkan pelaksanaan fungsi ke dalam fail pengepala dan pastikan anda memasukkan fail pengepala semasa memanggil fungsi. 🎜🎜Ringkasan🎜🎜Kegagalan memautkan fungsi dengan betul akan menyebabkan kompilasi program gagal, menyebabkan banyak kesulitan kepada pengaturcara. Untuk mengelakkan situasi ini, adalah perlu untuk melakukan tugas pengisytiharan fungsi, definisi dan rujukan fail perpustakaan dengan baik. Jika terdapat masalah yang fungsinya tidak dapat dipautkan dengan betul, sebaiknya selesaikan masalah dan selesaikannya langkah demi langkah, ketahui sebab khusus dan atasinya dengan sewajarnya. 🎜Atas ialah kandungan terperinci Ralat C++: Gagal memautkan fungsi dengan betul, bagaimana untuk menanganinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!