为什么在 class 的函数中使用对象时出现未声明的标识符错误?

Why undeclared identifier error occurres while I'm using objet in class's function?

我一直在自学 CPP OOP,但出现了这个错误: 错误 C2065 'carObj1': 未声明的标识符

因为我是自学,所以我尝试在 Internet 上搜索但没有找到! 谁能帮我解决这个问题?

#include <iostream>
#include <string>
using namespace std;

class car {
    public:
        string brand;
        string model;
        int year;
        void enterCar() {
            cout << "\nYour car is:" << carObj1.brand << " MODEL:" << carObj1.model << " BUILT-IN:" << carObj1.year;

        }
};

int main()
{
    car carObj1;

    cout << "Enter your car's brand name:\n";
    cin >> carObj1.brand;

    cout << "Enter your car's Model:\n";
    cin >> carObj1.model;

    cout << "Enter your car's Built-in year:\n";
    cin >> carObj1.year;

    carObj1.enterCar();



    return 0;

}

问题 是您试图访问名为 carObj1 在成员函数 car::enterObj.

的上下文中不存在

解决这个问题,您可以删除名称carObj1以便可以使用隐式this指针,或者您可以显式使用this指针如下图:

void enterCar() {
//-------------------------------------------vvvvv-------------->equivalent to writing `this->brand`
            std::cout << "\nYour car is:" << brand <<std::endl;
//-----------------------------------vvvvvv------------------->explicitly use this pointer
            std::cout<< " MODEL:" << this->model << std::endl;
            std::cout<<" BUILT-IN:" << this->year;

        }

我还建议使用 good C++ book.

学习 C++