Selesaikan masalah 'ralat: 'kelas' tidak mempunyai ahli bernama 'pembolehubah'' dalam kod C++

WBOY
Lepaskan: 2023-08-25 20:43:59
asal
3086 orang telah melayarinya

解决C++代码中出现的“error: 'class' has no member named 'variable'”问题

Selesaikan masalah "ralat: 'kelas' tidak mempunyai ahli bernama 'pembolehubah'" dalam kod C++

Apabila menulis kod C++, kadangkala kita menghadapi masalah seperti ini: "ralat: 'kelas' tidak mempunyai ahli bernama 'pembolehubah' ", mesej ralat ini bermakna terdapat masalah apabila menggunakan pembolehubah ahli kelas. Artikel ini akan memperkenalkan beberapa punca dan penyelesaian biasa, serta memberikan contoh kod yang sepadan.

Pertama sekali, sebab ralat ini mungkin salah satu daripada situasi berikut:

  1. Pembolehubah ahli tidak diisytiharkan dalam kelas:
    Dalam kes ini, pengkompil tidak dapat mencari definisi pembolehubah ahli, mengakibatkan satu kesilapan. Penyelesaiannya ialah menambah pembolehubah ahli dalam pengisytiharan kelas.
class MyClass {
public:
    int myVariable; // 声明成员变量
    void myMethod(); // 声明成员方法
};

void MyClass::myMethod() {
    myVariable = 10; // 使用成员变量
}
Salin selepas log masuk
  1. Pembolehubah ahli dalam kelas ditetapkan kepada akses peribadi atau dilindungi:
    Dalam kes ini, pembolehubah ahli tidak boleh diakses terus dari luar kelas, jadi ralat juga akan berlaku. Penyelesaiannya adalah untuk menyediakan fungsi akses awam (pengambil dan penetap) untuk mengakses pembolehubah ahli.
class MyClass {
private:
    int myVariable; // 私有成员变量
public:
    int getMyVariable() const {
        return myVariable; // getter函数
    }
    void setMyVariable(int value) {
        myVariable = value; // setter函数
    }
};

void myMethod() {
    MyClass obj;
    obj.setMyVariable(10); // 设置成员变量的值
    int value = obj.getMyVariable(); // 获取成员变量的值
}
Salin selepas log masuk
  1. Pembolehubah ahli dalam kelas ditakrifkan di luar kelas:
    Ralat ini juga akan berlaku jika pembolehubah ahli kelas ditakrifkan di luar kelas dan tidak diisytiharkan dengan betul. Penyelesaiannya ialah meletakkan definisi pembolehubah ahli di dalam badan kelas.
class MyClass {
public:
    int myVariable; // 成员变量的声明
    void myMethod(); // 成员方法的声明
};

int MyClass::myVariable = 0; // 错误的定义方式

void MyClass::myMethod() {
    myVariable = 10; // 使用成员变量
}
Salin selepas log masuk

Dengan penyelesaian di atas, kita boleh mengelakkan masalah "ralat: 'kelas' tidak mempunyai ahli bernama 'pembolehubah'". Apabila menulis kod C++, kita harus memberi perhatian kepada pengisytiharan dan hak akses pembolehubah ahli kelas, serta lokasi definisi pembolehubah ahli.

Saya harap artikel ini akan membantu dalam menyelesaikan masalah berkaitan dalam kod C++. Sebarang pertanyaan lanjut sila berasa bebas untuk bertanya.

Atas ialah kandungan terperinci Selesaikan masalah 'ralat: 'kelas' tidak mempunyai ahli bernama 'pembolehubah'' dalam kod C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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