C++中的重载运算符operator的使用问题!
为什么我这样写会出错:voidoperator++(){cout<<"重载运算符在执行\n";}int_tmain(intargc,_TCHAR*argv[]){inti...
为什么我这样写会出错:
void operator++(){cout<<"重载运算符在执行\n";}
int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
++i;
return 0;
}
错误是这样说的:operator++没有形参,是啥意思哦? 展开
void operator++(){cout<<"重载运算符在执行\n";}
int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
++i;
return 0;
}
错误是这样说的:operator++没有形参,是啥意思哦? 展开
展开全部
运算符重载也是一个函数嘛,你i是int类型的,不传进去编译器哪知道是用哪个重载呢。。。
++i,在编译器上就是调用operator++(i),你都没有重载这个函数,编译器当然不认啦。
void operator++(int i)
{
cout<<"int ++ is override"<<endl;
}
这样写就对了!
++i,在编译器上就是调用operator++(i),你都没有重载这个函数,编译器当然不认啦。
void operator++(int i)
{
cout<<"int ++ is override"<<endl;
}
这样写就对了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从你这问题看,高告诉你答案也没什么用。
还是慢慢来,有时候遇到问题先别急着问别人,自己先看看书,多思考就能找到答案。这样提高得快。如果遇到问题就问别人,提高得很慢,至少编程是这样。。。
还是慢慢来,有时候遇到问题先别急着问别人,自己先看看书,多思考就能找到答案。这样提高得快。如果遇到问题就问别人,提高得很慢,至少编程是这样。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询