gpt4 book ai didi

c++ - 期望在 C++ 中标记之前的主要表达式

转载 作者:行者123 更新时间:2023-11-30 04:19:38 26 4
gpt4 key购买 nike

问题是:

在 console.cpp 中

void Console::PrintMedicine(Medicine* m){
int ID = Medicine.getID(); //here i get the error expecting primary expression before "." token, it doesn't work with -> either
cout<<"The Medicine's ID is: ";
cin>>ID;
}

医学类:

什么是私有(private)的:

private:
int ID;
std::string nume;
double concentratie;
int cantitate;

什么是公开的

public:
Medicine(); //implcit constructor
Medicine(int ID, std::string nume, double concentratie, int cantitate);//constructor with parameteres
~Medicine(); //destructor

//getID函数

        const int& Medicine::getID() const{
return this->ID;
}

//getName函数

const std::string& Medicine::getName() const{
return this->nume;
}

//获取浓度函数

const double& Medicine::getConcentration() const{ 
return this->concentratie;

}

//获取数量函数

const int& Medicine::getQuantity() const{
return this->cantitate;
}

最佳答案

表达式 Medicine.getID() 不正确。 Medicine 的名称,您不能使用点运算符访问其成员。首先,您需要一个Medicine实例,您想要访问它的成员;其次,如果您有指向该实例的指针,则需要使用箭头运算符 (operator ->)。

因此,应该是:

void Console::PrintMedicine(Medicine* m){
int ID = m->getID();
// ^^^

// ...
}

关于c++ - 期望在 C++ 中标记之前的主要表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15735021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com