关于一个重载的问题......must have at least one formal parameter of class type????????

GodoorSun 2007-10-22 12:41:53

#include "stdafx.h"
#include <iostream.h>
bool operator *(int &a,int &b);
int main()
{
int a,b;
cin>>a>>b;
if(a*b) cout<<"!!!";
}
bool operator *(int &a,int &b)
{
return a<b;
}

vc6编译的时候出现这个错误
error C2803: 'operator *' must have at least one formal parameter of class type
...全文
969 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzm365487848 2010-03-29
  • 打赏
  • 举报
回复
1楼我笑了。。。 引用类型都没听过啊?
qiukaijia 2009-12-11
  • 打赏
  • 举报
回复
两个int 数组呢?
比如实现int a[5]={1,2,3,4,5},b[5]={1,2,3,4,5}的相加得到
c[5]={2,4,6,8,10}如何实现呢??
iambic 2007-10-22
  • 打赏
  • 举报
回复
这个世界真疯狂。有人像重载int*int……
GodoorSun 2007-10-22
  • 打赏
  • 举报
回复
重载操作符时参数用的是如int之类的内部类型就不能重载的啊????????????
con_con 2007-10-22
  • 打赏
  • 举报
回复
2楼正解
星羽 2007-10-22
  • 打赏
  • 举报
回复 1
运算符重载的时候是对参数的类型有限制的,
运算符重载的语法:
返回类型 operator 运算符号(参数说明);
c++中规定,在运算符中,参数说明都是内部类型时,不能重载.
asmst 2007-10-22
  • 打赏
  • 举报
回复
bool operator *(int &a,int &b);
int main()
{
int a,b;
cin>>a>>b;
if(a*b) cout<<"!!!"; //a,b都是int,不是地址
}
bool operator *(int &a,int &b) //用的是a,b的地址
{
return a<b;
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧