【发布时间】:2021-11-27 02:11:24
【问题描述】:
我现在正在学习 cpp,当我使用打印运算符实现卡片类时,这很可悲“二进制表达式的无效操作数('std::ostream'(又名'basic_ostream')和'const Suits')”。另外,我正在为 IDE 使用 Xcode。感谢您的帮助!
#include <iostream>
enum class Suits : char {clubs='C',diamonds='D',hearts='H',spades='S'};
enum class Faces : int {two=2, three, four, five, six, seven, eight,
nine, ten, jack, queen, king, ace /*14*/};
class Card {
public:
Card(Faces aFace=Faces::ace, Suits aSuit=Suits::clubs){
suit=aSuit;
face=aFace;
}
~Card();
friend std::ostream &operator<<(std::ostream& output, const Card &s){
output << s.suit;
return output;
}
protected:
Suits suit;
Faces face;
};
【问题讨论】:
标签: c++ xcode operator-overloading declaration definition