【发布时间】:2015-12-20 16:21:16
【问题描述】:
我正在编写一个游戏,其中有 2 个玩家,“BLACK”和“WHITE”。
我有以下枚举类:
enum class PlayerType
{
BLACK, WHITE
};
我想为这个类写一个 ostream 操作符
std::ostream& operator<<(std::ostream& os, const PlayerType& pt)
{
if(pt == PlayerType::BLACK)
os << "Black";
return os;
}
但是我得到以下编译器错误:
operator<< must take exactly 1 argument
我认为问题在于我嵌套了枚举类,而 operatorclass Player.
如果不从此类中删除枚举,我能做些什么吗?
【问题讨论】:
-
从该类中删除函数。
标签: c++ class enums nested enum-class