我写了一些我学到的基本代码,可用于定义一个类型,该类型获取枚举值作为其构造函数参数并具有成员函数 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;
}
最佳答案
你不需要<iostream>
, 你需要 <string>
对于 std::string
,您可能通过 <iostream>
间接获得.
关于c++ - 为什么我的代码需要 <iostream>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14751906/