我有一个名为“Card”的类和一个名为“CardDeck”的类,在“CardDeck.h”中定义了以下提升:
CardDeck(Card card){cards.push_back(card);}
CardDeck 有一个朋友 operator+:
friend CardDeck operator+(const CardDeck, const CardDeck);
这适用于:
CardDeck+CardDeck
CardDeck+Card
Card+CardDeck
但它不适用于卡+卡。我得到:
"no match for 'operator+' (operand types are 'Card' and 'Card')"
在这种情况下,为什么不将卡片提升为 CardDecks?我还尝试使用以下方法覆盖 operator+:
friend CardDeck operator+(const Card, const Card);
但这也不起作用。任何提示为什么?
谢谢!