我编写了一些我学到的基本代码,可用于定义一个类型,该类型获取一个枚举值作为其构造函数参数,并具有一个AsString()
将值作为字符串返回的成员函数。
除非我包含<iostream>
. 它显示一个警告,main
说明该类型color
尚未声明。为什么需要在我的代码中包含输入/输出头文件,而其中没有使用输入/输出函数或运算符?
enum ColorEnum {blue, red};
class color
{
protected:
ColorEnum value;
public:
color(ColorEnum initvalue)
{
value = initvalue;
}
std::string AsString()
{
switch (value)
{
case blue:
return "blue";
case red:
return "red";
default:
return "N/A";
}
}
};
int main()
{
color mycolor = blue;
return 0;
}