我正在尝试编写一个在类对象中接受字符串和整数的程序。然后,程序将按整数对对象数组中的类对象进行排序,然后允许我显示名称。不幸的是,当我尝试构建数组时,我的赋值运算符出错了。
我的问题是:我是否需要重载=
运算符,如果是的话,如何(不知怎的,我从未弄清楚如何重载运算符)?如果没有,我哪里错了?
以下是代码:
void InitiativeList::makeList(size_type physicalSize, size_type logicalSize)
{
string sNewActor;
int iNewOrder;
for (size_t index = 0; index < physicalSize; index++)
{
if (logicalSize == physicalSize)
{
grow(physicalSize);
}
cout << "Enter character name: ";
cin >> sNewActor;
if (sNewActor == "Exit")
{
return;
}
cout << "Enter initiative roll: ";
cin >> iNewOrder;
actorOrder[index] = new Actor(iNewOrder, sNewActor);
logicalSize++;
}
}
感谢您的帮助。
答案 0 :(得分:1)
你不需要new
那里,因为你有一组actorData
而不是actorData
指针,错误就是说它无法转换指向actorData
的{{1}}指针。所以替换这一行:
actorData
用这个:
actorOrder[index] = new actorData(iNewOrder, sNewActor);