Rumah > pembangunan bahagian belakang > C++ > Mengapa 'ralat: meminta ahli '...' dalam '...' yang bukan jenis kelas' Berlaku dalam C dan Bagaimana Ia Boleh Dibetulkan?

Mengapa 'ralat: meminta ahli '...' dalam '...' yang bukan jenis kelas' Berlaku dalam C dan Bagaimana Ia Boleh Dibetulkan?

Mary-Kate Olsen
Lepaskan: 2024-12-05 06:22:11
asal
823 orang telah melayarinya

Why Does

Menyelesaikan "ralat: permintaan untuk ahli '...' dalam '...' yang bukan jenis kelas"

Apabila menemui mesej ralat "ralat: permintaan untuk ahli '...' dalam '...' yang bukan jenis kelas," dalam C , ia sering menunjukkan masalah dengan instantiasi objek dan akses ahli kelas. Untuk menangani isu ini, mari kita mendalami kod yang disediakan dan punca ralat.

Kod mentakrifkan kelas Foo dengan dua pembina: satu yang tidak mengambil hujah dan satu yang memerlukan satu hujah. Niatnya adalah untuk mencipta objek Foo menggunakan kedua-dua pembina. Walau bagaimanapun, ralat berlaku apabila cuba mencipta objek menggunakan pembina tanpa hujah.

Setelah diperiksa, isunya terletak pada baris berikut:

Foo foo2();
Salin selepas log masuk

Pengkompil mentafsir baris ini sebagai pengisytiharan fungsi dengan nama 'foo2' dan jenis pulangan 'Foo.' Walau bagaimanapun, tujuan yang dimaksudkan adalah untuk mengisytiharkan dan membuat instantiate objek kelas Foo menggunakan pembina lalai. Untuk menyelesaikan masalah ini, sintaks harus diubah suai seperti berikut:

Foo foo2;
Salin selepas log masuk

Dengan hanya mengalih keluar kurungan, pengkompil kini mentafsirkan baris dengan betul sebagai pengisytiharan objek dan instantiasi, menggunakan pembina lalai untuk memulakan objek foo2 .

Pengubahsuaian ini membenarkan kod untuk menyusun dan melaksanakan seperti yang diharapkan. Objek kini boleh dibuat menggunakan kedua-dua pembina, dan fungsi ahli boleh diakses tanpa masalah. Oleh itu, ingat untuk menggunakan sintaks yang betul untuk pengisytiharan objek dan instantiasi untuk mengelakkan jenis ralat dalam pengaturcaraan C.

Atas ialah kandungan terperinci Mengapa 'ralat: meminta ahli '...' dalam '...' yang bukan jenis kelas' Berlaku dalam C dan Bagaimana Ia Boleh Dibetulkan?. 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