c++ - 为什么我的代码需要 <iostream>?

标签 c++ iostream

我写了一些我学到的基本代码,可用于定义一个类型,该类型获取枚举值作为其构造函数参数并具有成员函数 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/

相关文章:

c++ - 垃圾值 - C++ 中的继承

c++ - 在 C++ 中声明 vector 和集合

c++ - 空指针和应用程序崩溃

c++ - 使用 map 将字符串与枚举连接起来

c++ - 如果我在 C++ 中声明函数指针,这意味着什么

c++ - 为什么 "keep_window_open()"不等待输入字符?

c++ - 标准无操作输出流

C++ 运算符 << (void*)

c++ - 在 header 中声明任何 iostream 相关对象会在尝试初始化时引发错误

c++ - SWIG 将流从 python 传递到 C++