gpt4 book ai didi

c++ - 获取编译错误: “identifier ' objUser' is undefined” in my main() function

转载 作者:行者123 更新时间:2023-12-02 10:50:57 25 4
gpt4 key购买 nike

我试图从主类中的clsFamily类调用函数,但是,当我传递(&objUser)时,我收到一条消息,指出:

identifier 'objUser' is undefined



编辑:抱歉忘了提及,但我要根据用户的选择来操纵动态 vector 数组。

任何帮助将不胜感激,因为这是下周四xD的任务
int UserChoice();

int UserChoice()
{
int iChoice = 0;
int iAdults = 0;
int iChildren = 0;

cout << "How many family members do you have? \n";
cin >> iChoice;

cout << "How many of these are adults? \n";
cin >> iAdults;

cout << "How many of these are children? \n";
cin >> iChildren;

return iChoice;
return iAdults;
return iChildren;
}

class clsUser
{
private:
string m_sName;
int m_iAge;
public:
void SetName(string);
string GetName();
void SetAge(int);
int GetAge();
clsUser();
~clsUser();
clsUser(string, int);
};

//This is to group the singular users into a group using a vector
class clsFamily
{
private:
vector <clsUser> objUser;
public:
void InputFamilyDetails(vector <clsUser> *objUser);
void OutputFamilyDetails(vector <clsUser> *objUser);
};

void clsFamily::InputFamilyDetails(vector <clsUser>* objUser)
{
string sName = "";
int iAge = 0;

for (int iCount = 0; iCount < objUser->size(); iCount++)
{
cout << "Please enter the name of family member " << iCount + 1 << "\n";
cin >> sName;

cout << "Please enter the age of family member " << iCount + 1 << "\n";
cin >> iAge;

objUser->at(iCount).SetName(sName);
objUser->at(iCount).SetAge(iAge);
}
}
//This is to allow the user to input the the details of the users from the vector

void clsFamily::OutputFamilyDetails(vector <clsUser>* objUser)
{
for (int iCount = 0; iCount < objUser->size(); iCount++)
{
cout << "The name of family member " << iCount + 1 << " is " << objUser->at(iCount).GetName() << " \n";
cout << "The age of family member " << iCount + 1 << " is " << objUser->at(iCount).GetAge()<< " \n";
}
}

int main()
{
clsFamily objFamily;
*//This is the area where the problem is occuring*
objFamily.InputFamilyDetails(&objUser);
objFamily.OutputFamilyDetails(&objUser);
}

最佳答案

clsFamily已经有一个objUser成员。您不应该使用它,并且不要在InputFamiliyDetailsOutputFamilyDetails中使用参数:

class clsFamily
{
private:
vector <clsUser> objUser; // Needs to be initialized with some size, though
public:
void InputFamilyDetails();
void OutputFamilyDetails();
};

void clsFamily::InputFamilyDetails()
{
string sName = "";
int iAge = 0;

for (int iCount = 0; iCount < objUser.size(); iCount++)
{
cout << "Please enter the name of family member " << iCount + 1 << "\n";
cin >> sName;

cout << "Please enter the age of family member " << iCount + 1 << "\n";
cin >> iAge;

objUser.at(iCount).SetName(sName);
objUser.at(iCount).SetAge(iAge);
}
}

void clsFamily::OutputFamilyDetails()
{
for (int iCount = 0; iCount < objUser.size(); iCount++)
{
cout << "The name of family member " << iCount + 1 << " is " << objUser.at(iCount).GetName() << " \n";
cout << "The age of family member " << iCount + 1 << " is " << objUser.at(iCount).GetAge()<< " \n";
}
}

int main()
{
clsFamily objFamily;
objFamily.InputFamilyDetails();
objFamily.OutputFamilyDetails();
}

关于c++ - 获取编译错误: “identifier ' objUser' is undefined” in my main() function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60885934/

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