Bagaimana untuk menyelesaikan ralat sintaks C++: 'ungkapan utama yang dijangkakan sebelum '.'?

王林
Lepaskan: 2023-08-26 19:43:45
asal
3097 orang telah melayarinya

如何解决C++语法错误:'expected primary-expression before '.' token'?

Bagaimana untuk menyelesaikan ralat sintaks C++: 'ungkapan utama yang dijangkakan sebelum '.'?

Apabila menulis atur cara dalam C++, kadangkala kita menghadapi pelbagai ralat sintaks. Salah satu ralat biasa ialah 'ungkapan utama yang dijangkakan sebelum '.' Apabila kami menggunakan sintaks yang salah untuk mengakses ahli kelas dalam kod kami, pengkompil akan melaporkan ralat ini.

Ralat ini biasanya disebabkan oleh sebab berikut:

  1. Penggunaan operator titik (.) yang salah untuk mengakses pembolehubah ahli atau fungsi ahli objek bukan kelas.
  2. Menggunakan operator titik (.) secara salah untuk mengakses pembolehubah ahli atau fungsi ahli objek penunjuk dan bukannya menggunakan pengendali anak panah (->).
  3. Apabila kita menggunakan objek kelas yang tidak diisytiharkan atau tidak ditentukan sebagai awalan untuk pembolehubah ahli atau fungsi ahli, pengkompil tidak dapat mengecam objek tersebut.

Berikut ialah beberapa contoh kod untuk menggambarkan cara menyelesaikan ralat ini:

Contoh 1:

#include <iostream>
using namespace std;

int main() {
    int length = 10;
    cout.length;  // 错误:应该使用点运算符来访问一个类对象的成员
    return 0;
}
Salin selepas log masuk

Betulkan: Tukar cout.length kepada cout<

Contoh 2:

#include <iostream>
using namespace std;

class MyClass {
public:
    void printHello() {
        cout<<"Hello"<<endl;
    }
};

int main() {
    MyClass* myObject;
    myObject.printHello();  // 错误:应该使用箭头运算符来访问指针对象的成员
    return 0;
}
Salin selepas log masuk

Dibetulkan dengan menukar myObject.printHello() kepada myObject->printHello().

Contoh 3:

#include <iostream>
using namespace std;

class MyClass {
public:
    void printHello() {
        cout<<"Hello"<<endl;
    }
};

int main() {
    MyClass myObject;
    MyObject.printHello();  // 错误:使用了未定义的对象
    return 0;
}
Salin selepas log masuk

Dibetulkan dengan menukar MyObject.printHello() kepada myObject.printHello().

Dengan pembetulan di atas, kami boleh menyelesaikan ralat 'ungkapan utama yang dijangkakan sebelum '.' Perlu diingatkan bahawa penyelesaian kepada ralat ini adalah untuk membetulkannya mengikut situasi kod tertentu dan memastikan bahawa sintaks yang betul digunakan untuk mengakses ahli kelas. Pada masa yang sama, semasa menulis kod, kita juga mesti menyemak dan menyemak kod dengan teliti untuk mengelakkan kesilapan tatabahasa yang biasa untuk meningkatkan kualiti dan kestabilan program.

Untuk meringkaskan, ralat 'ungkapan utama yang dijangkakan sebelum '.' disebabkan oleh penggunaan sintaks yang salah semasa mengakses ahli kelas. Kita boleh menyelesaikan ralat ini dengan mudah dengan mengisytiharkan dan mentakrifkan objek kelas menggunakan penggunaan pengendali titik dan anak panah yang betul. Apabila kami menghadapi ralat sedemikian, kami boleh menyemak kod dengan teliti dan membuat pembaikan mengikut situasi tertentu untuk memastikan operasi normal program.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat sintaks C++: 'ungkapan utama yang dijangkakan sebelum '.'?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!