Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Majukan Mengisytiharkan Kelas C Bersarang?
Ke hadapan Mengisytiharkan Kelas Dalaman
Adalah wajar untuk merujuk kelas bersarang tanpa memasukkan fail pengepala penentunya. Walau bagaimanapun, cubaan untuk memajukan mengisytiharkan kelas dalam di luar kelas yang mengandunginya boleh membawa kepada ralat penyusunan.
Pertimbangkan contoh berikut:
class Container { public: class Iterator { ... }; ... }; class Foo { void Read(Container::Iterator& it); };
Menyusun kod ini akan mengakibatkan ralat disebabkan oleh tidak lengkap jenis Bekas dan yang tidak diisytiharkan pembolehubah.
Penyelesaian
Malangnya, adalah tidak mungkin untuk memajukan mengisytiharkan kelas dalam di luar kelas yang mengandunginya. Piawaian C tidak membenarkan sintaks ini. Oleh itu, menangani isu ini memerlukan penyelesaian alternatif:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Majukan Mengisytiharkan Kelas C Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!