0

嘿伙计们,我正在尝试对链接列表进行排序,但遇到了这个错误的问题,我不明白你们是否可以提供帮助……该错误仅发生在我的 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;
}
}
4

1 回答 1

1

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虽然的定义。

于 2012-11-27T07:19:31.377 回答