gpt4 book ai didi

c++ - 程序总是返回二进制 '>>' : no operator found which takes a left-hand operand of type error

转载 作者:太空狗 更新时间:2023-10-29 23:33:34 25 4
gpt4 key购买 nike

所以我被分配了一个任务,使用这个等式在 C++ 中创建一个温度转换器:

Celsius = (5/9)*(Fahrenheit – 32)

到目前为止我已经想到了这个(我从一开始就删掉了 10 行的注释,所以发布的代码从第 11 行开始,如果这有意义的话)

#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>

using namespace std;

int main ()
{
float celsius;
float farenheit;

std::cout << "**************************" << endl;
std::cout << "*4001COMP-Lab5-Question 1*" << endl;
std::cout << "**************************" << endl << endl;
std::cout << "Please enter a temperature in farenheit: ";
std::cin >> farenheit >> endl;
std::cout << "Temperature (farenheit): " << endl;
std::cout << "Temperature (celsius): " << celsius << endl;
std::cin.get();
return 0;
}

每次我尝试运行这个程序时,我都会遇到一堆错误,每次都会出现这个错误:

1>m:\visual studio 2010\projects\week 5\week 5\main.cpp(26): error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'std::basic_istream<_Elem,_Traits>' (or there is no acceptable conversion)

我已经尝试了所有我能想到的方法来消除这个错误,但它每次都会重新出现,知道如何解决这个问题吗?

最佳答案

std::cin >> farenheit >> endl;

此声明无效。从中删除 >> endl

std::cin >> farenheit ;

此语句仅在您cout 某些内容时有效。喜欢这里。

std::cout << farenheit << endl ;

原因是endl是用于输出新行的结束符。所以只有输出流接受它。您可以在此处查看有关 cincout 的返回值和原型(prototype)的更多信息。

http://en.cppreference.com/w/cpp/io

关于c++ - 程序总是返回二进制 '>>' : no operator found which takes a left-hand operand of type error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12958242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com