「BLACK」と「WHITE」の 2 人のプレイヤーがいるゲームを書いています。
次の列挙型クラスがあります。
enum class PlayerType
{
BLACK, WHITE
};
このクラスの ostream operator<< を書きたいと思います。これが私の試みです:
std::ostream& operator<<(std::ostream& os, const PlayerType& pt)
{
if(pt == PlayerType::BLACK)
os << "Black";
return os;
}
ただし、次のコンパイラ エラーが発生します。
operator<< must take exactly 1 argument
問題は、enum クラスと operator<< を別のクラス内にネストしていることだと思います。class Player
.
このクラス内から列挙型を削除せずにこれについてできることはありますか?