C++ “无操作员”&燃气轮机=&引用;匹配c+中的这些操作数错误+;使用while循环时
这是密码C++ “无操作员”&燃气轮机=&引用;匹配c+中的这些操作数错误+;使用while循环时,c++,C++,这是密码 int main() { int x; while((cin >> x) >= 2){ cout<<"Greater than 2"; } } intmain() { int x; 而((cin>>x)>=2){ cout=int 我不熟悉c++在while条件下,您正在比较cin>>x和2 我相信您希望检查x>=2的条件。但是,在您的代码中,编译器正在将cin>>x的输出与2进行比较。由于cin
int main()
{
int x;
while((cin >> x) >= 2){
cout<<"Greater than 2";
}
}
intmain()
{
int x;
而((cin>>x)>=2){
cout=int
我不熟悉c++在while条件下,您正在比较cin>>x和2 我相信您希望检查x>=2的条件。但是,在您的代码中,编译器正在将cin>>x的输出与2进行比较。由于cin运算符的输出不是INT,因此您得到了错误 有关这方面的更多信息,请参阅:
就纠正代码而言,请尝试while(cin>>x&&x>=2),因为编译器将首先执行cin,然后执行比较。在while条件下,您将比较cin>>x和2 我相信您希望检查x>=2的条件。但是,在您的代码中,编译器正在将cin>>x的输出与2进行比较。由于cin运算符的输出不是INT,因此您得到了错误 有关这方面的更多信息,请参阅:
就纠正代码而言,请尝试而(cin>>x&&x>=2),因为在这里编译器将首先执行cin,然后执行比较。请按以下方式更改代码,以便将从输入流读取与整数比较分离
int main()
{
int x;
while(true)
{
std::cin >> x;
if(x > 2)
{
std::cout << "Greater than 2";
}
else
{
std::cout << "Lesser than or equal to 2";
break;
}
}
}
intmain()
{
int x;
while(true)
{
标准:cin>>x;
如果(x>2)
{
std::cout x
返回cin(istream对象),但不返回您读取的值(在您的情况下为整数)。请按以下方式更改代码,以便从输入流读取与整数比较分离
int main()
{
int x;
while(true)
{
std::cin >> x;
if(x > 2)
{
std::cout << "Greater than 2";
}
else
{
std::cout << "Lesser than or equal to 2";
break;
}
}
}
intmain()
{
int x;
while(true)
{
标准:cin>>x;
如果(x>2)
{
std::cout x
返回cin(istream对象),但不返回您读取的值(在您的情况下为整数)。(cin>>x)
返回cin
,而不是x
。如果您想在比较行中执行所有操作,您可能需要而((cin>>x)和&x>=2)
。(严格来说,那些使用语句的不是预处理器指令,只有#include
才是。)这是有效的!我不明白为什么我不能使用>2操作直接比较cin>>x,请您解释一下该部分或参考som资源,我可以阅读以获得更好的理解?感谢compier错误很清楚:无运算符“>=”匹配这些操作数--操作数类型为:std::basic_istream>=int
,cin>>x
的类型为std::basic_istream
,您无法将其与int
@RealSlimShadycin>>x
返回上述cin
。它相当于cin.operator>>(x)
将读取的值放入x中,并返回istream对象cin
。当考虑行cin>>a>>b
时,很容易看出这一点。写入a>>b
没有意义,但上面的代码是正确的,因为cin>>a
返回cin
,而不是a
(cin>>x)
返回cin
,而不是x
。如果要在比较行中执行所有操作,您可能需要((cin>>x)和&x>=2)
。(严格来说,那些使用语句的不是预处理器指令,只有\include
才是。)这是有效的!我不明白为什么我不能使用>2操作直接比较cin>>x,请您解释一下该部分或参考som资源,我可以阅读以获得更好的理解?感谢compier错误很清楚:无运算符“>=”匹配这些操作数--操作数类型为:std::basic_istream>=int
,cin>>x
的类型为std::basic_istream
,您无法将其与int
@RealSlimShadycin>>x
返回上述cin
。它相当于cin.operator>>(x)
将读取的值放入x中,并返回istream对象cin
。当考虑行cin>>a>>b
时,很容易看出这一点。写a>>b
没有意义,但上面的代码是正确的,因为cin>>a
返回cin
。
int main()
{
int x;
while(true)
{
std::cin >> x;
if(x > 2)
{
std::cout << "Greater than 2";
}
else
{
std::cout << "Lesser than or equal to 2";
break;
}
}
}