Rumah >pembangunan bahagian belakang >C++ >Mengapa GCC Gagal Mengumpul Pengkhususan Eksplisit dalam Skop Bukan Ruang Nama?
Pengkhususan Eksplisit dalam Skop Bukan Ruang Nama
Kod yang diberikan gagal untuk disusun dalam GCC walaupun berjaya menyusun dalam Clang. Mengikut piawaian C ([temp.expl.spec]), pengkhususan eksplisit boleh diisytiharkan dalam mana-mana skop di mana templat utama yang sepadan boleh ditakrifkan.
Tingkah laku ini kelihatan seperti pepijat dalam GCC. Menurut CWG 727, peraturan dalam [temp.expl.spec] mengenai pengkhususan eksplisit telah diubah suai untuk membenarkan pengisytiharan sedemikian dalam mana-mana skop yang berkaitan.
Skop Pengkhususan Eksplisit
Standard asal menyatakan bahawa pengkhususan eksplisit harus diisytiharkan dalam ruang nama yang melampirkan templat khusus. Walau bagaimanapun, piawaian semasa membenarkan pengkhususan eksplisit dalam mana-mana skop di mana templat utama boleh ditakrifkan:
Kegagalan GCC untuk mematuhi peraturan yang dikemas kini ini merupakan pepijat. Isu ini telah dikenal pasti sebagai Bug 85282 dan kini dijejaki oleh pasukan pembangunan GCC.
Atas ialah kandungan terperinci Mengapa GCC Gagal Mengumpul Pengkhususan Eksplisit dalam Skop Bukan Ruang Nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!