簡體   English   中英

分配操作員總線錯誤超載

[英]overloaded assignment operator bus error

由於某種原因,我的賦值運算符在嘗試使用它時會產生總線錯誤:

hand1 = hand2;


//overload assignment operator
Hand Hand::operator=(Hand other_hand)
{

    if(&other_hand != this){
        name = other_hand.name;
        cards = other_hand.cards;

    }

    return *this;   
}

返回語句后立即發生錯誤

首先,分配的簽名應如下所示:

Hand & Hand::operator=(const Hand &other_hand)

您可能不希望像所指出的那樣傳遞和返回副本,但是您還希望允許操作鏈接,即:

hand1 = hand2 = hand3 ....

這是一個基本參考 還提到了復制和交換,該先前的線程在解釋它方面做得很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM