我一直在自學 CPP OOP,但發生了這個錯誤: 錯誤 C2065 'carObj1': undeclared identifier
而且由于我是自學的,我試圖在互聯網上搜索,但一無所獲!誰能幫我這個?
#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;
}
uj5u.com熱心網友回復:
問題是您正在嘗試訪問欄位brand
,model
以及在成員函式的背景關系中不存在的year
名為的物件。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;
}
我還建議使用一本好的 C 書籍來學習 C 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/470090.html