C++中error C2679: binary '>>':no operator defined which takes a right-hand operand of t

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中error C2679: binary '>>':no operator defined which takes a right-hand operand of t相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <string>
using namespace std;
class Square

public:
void input();
void onput(int a,int b,int c);
private:
int a;
int b;
int c;
;

void Square::input()

char num[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>num[i][j]>>endl;
cin>>" ">>endl;


void Square::onput(int a,int b,int c)

a=num[0][0]*num[1][1]*num[2][2];
b=num[0][1]*num[1][2]*num[2][0];
c=num[0][2]*num[1][0]*num[2][1];
cout<<(a-b-c)<<endl;


int main()

Square s1;
s1.input();
s1.onput();
reurn 0;

参考技术A cin>>num[i][j]>>endl;

num[i][j]是变量,endl是输出回车,
cin>>后面的值必须是变量。endl是?追问

endl不是表示一行结束吗,老报错>>怎麽回事

追答

int a;
cin>>a;
是把输入流(也就是你键盘敲得内容)传给变量a;
如果cin>>endl;把输入的值 传递给回车,这肯定不对。
如果想输出回车的话,cout<<endl;

追问

改完,这个主函数部分怎摸回事

本回答被提问者和网友采纳

WINDOWS/cygwin编译lame出错:error: ‘_O_BINARY‘ undeclared

  • 具体错误:
lametime.c: In function 'lame_set_stream_binary_mode':
lametime.c:139:25: error: '_O_BINARY' undeclared (first use in this function); did you mean 'O_BINARY'?
     setmode(fileno(fp), _O_BINARY);
  • 解决办法

打开出错文件 vi ./frontend/lametime.c
找到这一行:

#elif defined __CYGWIN

修改下面一行:

setmod(fileno(fp), _O_BINARY);
为
setmod(fileno(fp), O_BINARY);

以上是关于C++中error C2679: binary '>>':no operator defined which takes a right-hand operand of t的主要内容,如果未能解决你的问题,请参考以下文章

使用 QDataStream 序列化自定义类导致 C2679 错误

错误 C2679:二进制“<<”:未找到采用“std::string”类型右侧操作数的运算符(或没有可接受的转换)

使用 std::copy - 错误 C2679:找不到正确的二进制 '=' 运算符

error: Microsoft Visual C++ 14.0 is required when installing python package

在 C++ 中读取 bmp 文件的宽度和高度

在测试类中膨胀 ViewBinding 时出错:Binary XML file line #38: Binary XML file line #38: Error inflating class &l