


Mengapakah Meluluskan Integer Const Statik oleh Rujukan Const kepada Fungsi Templat Menyebabkan Ralat \'Rujukan Tidak Ditakrifkan\'?
Rujukan Tidak Ditakrifkan kepada Statik Const Int: Memahami Gelagat Pengkompil
Pertimbangkan senario di mana anda mentakrifkan fungsi templat foo yang menerima rujukan kepada pemalar jenis T. Dalam Bar kelas, anda mengisytiharkan integer kConst pemalar statik. Apabila memanggil foo dengan kConst sebagai hujah, pengkompil mungkin membenderakan ralat "Rujukan tidak ditentukan kepada 'Bar::kConst'".
Ralat ini timbul kerana integer const statik, semasa dimulakan pada masa penyusunan, masih memerlukan definisi dalam program jika digunakan dalam cara tertentu. Menurut piawaian C (9.4.2/4), ahli data statik const boleh dimulakan dalam definisi kelasnya jika ia merupakan ungkapan pemalar integral. Walau bagaimanapun, pengisytiharannya sahaja tidak mencukupi untuk penggunaan dalam rujukan const atau ungkapan pemalar integral.
Apabila menghantar kConst dengan rujukan const kepada foo, anda secara berkesan "menggunakannya" mengikut standard (3.2/2) . Memandangkan GCC menganggap ahli data statik sebagai "digunakan", ia menuntut pelaksanaannya dalam skop program. Walau bagaimanapun, ia membenarkan kelonggaran dalam kes lulus nilai, apabila penukaran nilai-nilai berlaku serta-merta.
Selain itu, mengambil alamat atau merujuk objek yang tidak wujud secara amnya tidak digalakkan. Ahli data statik berada di lokasi memori yang unik dan menghantar alamat mereka daripada berbilang unit terjemahan boleh mengakibatkan tingkah laku yang tidak ditentukan melainkan objek ditakrifkan secara eksplisit dalam satu TU.
Ringkasnya, ralat pengkompil timbul disebabkan oleh keperluan untuk takrif integer const statik jika ia diluluskan oleh rujukan const atau digunakan dalam ungkapan malar. Adalah penting untuk mematuhi garis panduan standard untuk mengelakkan ralat sedemikian.
Atas ialah kandungan terperinci Mengapakah Meluluskan Integer Const Statik oleh Rujukan Const kepada Fungsi Templat Menyebabkan Ralat \'Rujukan Tidak Ditakrifkan\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Gulc: Perpustakaan C dibina dari awal

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Penggunaan dan perkongsian frasa yang berbeza

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?
