error C2678: binary '!=' : no operator defined which takes a left-hand operand of type 'struct ...

struct student * del(struct student * h)
{

struct student*p3,*p4,number;
if(head==NULL)
{
cout<<"请输入"<<endl;
return head;
}
p3=head;
while (number!=p3->number&&p3->next!=NULL)
{
p4=p3;
p3=p3->next;
}
if(number==p3->number)
{
if(p3==head)
head=p3->next;
else p4->next=p3->next;
cout<<"已删除的信息:"<<number;
n=n-1;
}
else
cout<<number<<"输出有误,请重新输入"<<endl;
return h;
}

显示的错误在上面,指 while (number!=p3->number&&p3->next!=NULL)这一行

有没人帮一下忙
希望能给出更改的方法

第1个回答  2011-06-25
"=="才可以。。。

...<<' : no operator defined which takes a right-hand opera_百度...
include <iostream> 不要加.h

...用类模板实现2个数相加。error C2679: binary '<<' : no opera...
改成numtype plus();

请教两个c++ 错误报告
1,没有一种操作符定义了对右操作数类型的处理(或者合适的转换)2.没有定义这种操作数或者转换成可以接受的类型预定义操作数.意思就是说,类型与操作不匹配,你需要检查一下你对你定义的类型进行了怎样的操作,那种操作你事先定义了吗?给你一个错误的例子,比如说,你不能对两个 string s1,s2;s1-s2;...

相似回答