大家好,我正在尝试对链接列表进行排序,并遇到此错误,我不知道想知道yall是否可以提供帮助。该错误仅在if语句内的3行中发生...我已在下面标记了它们。
void MovieInventory::sortInventory()
{
MovieNode *first;
MovieNode *second;
MovieNode *temp;
Movie m;
first = movieList;
while (first != NULL)
{
second = first->next;
while (second!=NULL)
{
if (first->m.getSku() < second->m.getSku() )
{
temp->m.getSku()=first->m.getSku(); //error
first->m.getSku()=second->m.getSku(); //error
second->m.getSku()=temp->m.getSku(); //error
delete temp;
}
second = second->next;
}
first = first->next;
}
}
最佳答案
L值是您可以为其分配值的东西。在您的示例中,您无法将值分配给m.getSku()
调用的返回值,这是编译器抱怨的。
我相信您的意思是写这样的东西:
if (first->m.getSku() < second->m.getSku() )
{
temp->m.setSku(first->m.getSku());
first->m.setSku(second->m.getSku());
second->m.setSku(temp->m.getSku());
delete temp;
}
当然,这取决于您对
Movie
的定义。