我刚刚开始学习功能。我正在尝试使用一个函数来编写此代码,以使用户输入名称。我不知道参数应该是什么。我以为我可以放入将数组传递给它的getName(i.name),但是我做错了。正确的参数应该是什么?

void getName(Horse &);  //function prototype
struct Horse
{
    string name;
}
array<Horse, horseCount> Horses;
for (Horse &i : Horses)
{
    getName(i.name);
}
void getName(Horse &Nag)
{
    cout << "Enter a horse's name: ";
    getline(cin, Nag.name);
}

最佳答案

您实际上将std::string传递给getName()时将其传递给Horse&

您必须将其称为getname(i)才能实际传递Horse对象。

10-08 12:39