Rumah > pembangunan bahagian belakang > C++ > Mengapa Saya Mendapat Ralat Pautan Pembolehubah Statik dalam C?

Mengapa Saya Mendapat Ralat Pautan Pembolehubah Statik dalam C?

Patricia Arquette
Lepaskan: 2024-12-31 08:02:09
asal
407 orang telah melayarinya

Why Am I Getting a Static Variable Link Error in C  ?

Ralat Pautan Pembolehubah Statik [Pendua]

Dalam pengaturcaraan C, ralat pautan boleh berlaku apabila pembolehubah statik diisytiharkan tetapi tidak ditakrifkan dalam kod tersebut. Ralat ini menunjukkan bahawa pemaut tidak dapat mencari definisi pembolehubah statik semasa fasa pemautan.

Dalam kod yang diberikan, Log kelas mempunyai pembolehubah statik theString yang diisytiharkan dalam fail pengepala Log.h, tetapi ia adalah tidak ditakrifkan dalam fail pelaksanaan Log.cpp. Untuk menyelesaikan ralat pautan, pembolehubah statik mesti ditakrifkan dalam fail pelaksanaan.

Kod yang diperbetulkan dalam Log.cpp hendaklah:

#include "Log.h"
#include <ostream>

string Log::theString;  // Define the static variable here

void Log::method(string arg) {
    theString = "hola";
    cout << theString << endl;
}
Salin selepas log masuk

Selain itu, disyorkan untuk mengalih keluar menggunakan ruang nama std; baris daripada fail pengepala. Amalan ini menghalang pencemaran ruang nama global dengan simbol std, yang boleh membawa kepada konflik penamaan dan kemungkinan ralat.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Pautan Pembolehubah Statik dalam C?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan