0

リンクリストを並べ替えようとしていますが、このエラーで問題が発生しています。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;
}
}
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 に答える