C++ (错误C2678)错误:无操作员“<<&引用;匹配这些操作数

C++ (错误C2678)错误:无操作员“<<&引用;匹配这些操作数,c++,operator-overloading,std,C++,Operator Overloading,Std,请注意:这是以前问过的问题 所以我正在努力学习C++,因为我的家族已经决定开始写一个游戏了,但是我只做了德尔菲,C,java,/p> 问题: 我已经阅读了一些关于这个问题的帖子,据我所知,我需要“重载cout类”以使用操作符“” 原因是什么?难道没有更简单的方法来实现这一点吗 两名操作员(prob x)正在给出问题 // Custom.cpp : Defines the entry point for the console application. // #include "stdafx.h

请注意:这是以前问过的问题

所以我正在努力学习C++,因为我的家族已经决定开始写一个游戏了,但是我只做了德尔菲,C,java,/p> 问题:

我已经阅读了一些关于这个问题的帖子,据我所知,我需要“重载cout类”以使用操作符“”

原因是什么?难道没有更简单的方法来实现这一点吗

两名操作员(prob x)正在给出问题

// Custom.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <Windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
    using namespace std;

        double input, out;
        string degtype;

        cin /*>> "What is the temperature: "*/ >> input;
        cin /*>> "Convert to [C]elsius or [F]ahrenheit?: " */ [(prob1)>>] degtype;

        if (degtype.compare("C") == 0 || degtype.compare("c") == 0)
        {
            out = (-32 - (input * 1.8)) + input;
            degtype = "Celcius";
        }
        else
            if (degtype.compare("F") == 0 || degtype.compare("f") == 0)
        {
            out = 32 + (input * 1.8);
            degtype = "Fahrenheit";
        }

            cout << "The " [(prob 2)<<] degtype << "value is " << out;


}
//Custom.cpp:定义控制台应用程序的入口点。
//
#包括“stdafx.h”
#包括
#包括
int _tmain(int argc,_TCHAR*argv[]
{
使用名称空间std;
双输入,输出;
字符串类型;
cin/*>>“温度是多少:”*/>>输入;
cin/*>>“转换为[C]elsius或[F]ahrenheit?”:“*/[(prob1)>>]degtype;
如果(degtype.compare(“C”)==0 | | degtype.compare(“C”)==0)
{
输出=(-32-(输入*1.8))+输入;
degtype=“Celcius”;
}
其他的
如果(degtype.compare(“F”)==0 | | degtype.compare(“F”)==0)
{
输出=32+(输入*1.8);
degtype=“华氏度”;
}
库特
这是什么原因

正如您承认存在的副本中已经解释的那样,原因是您没有包含提供所有
字符串
功能的正确标题

其中一半似乎完全是偶然的,因为其他一些标准的头文件包含了一些小的信息,以便您自己完成工作

难道没有更简单的方法来实现这一点吗

不,真的,这再容易不过了:

#include <string>
#包括
写下来

就这样

这是什么原因

正如您承认存在的副本中已经解释的那样,原因是您没有包含提供所有
字符串
功能的正确标题

其中一半似乎完全是偶然的,因为其他一些标准的头文件包含了一些小的信息,以便您自己完成工作

难道没有更简单的方法来实现这一点吗

不,真的,这再容易不过了:

#include <string>
#包括
写下来


就是这样。

短篇故事:你需要
#包括
。请注意:如果以前有人问过这个问题,不要再发了!@LightnessRacesinOrbit重新发布的原因是前一篇文章的答案不能解决问题,我想知道错误的原因和发生的原因!@juanchopanza谢谢,它解决了公关问题问题是,为什么它会给出字符串而不是字符的错误?是什么让你认为你不能用C或Java创建游戏?简短的故事:你需要
#包括
。请注意:如果以前有人问过,不要再发布它!@LightnessRacesinOrbit重新发布的原因是前一篇文章的答案不能解决问题问题,我想知道错误的原因和发生的原因!@juanchopanza谢谢,它解决了问题,为什么它会用字符串而不是字符给出错误?是什么让你认为你不能用C#或Java创建游戏?