C++的一个常见错误

errorC2679:binary'<<':nooperatordefinedwhichtakesaright-handoperandoftype'void'(orthe... error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'void' (or there is no acceptable conversion)这个错误是什么情况下会出现?一般怎么样改正?
源代码如下:是将ABCDE换成EDCBA。 运行后是空白,应该怎么改?
#include<iostream>
#include<string>
using namespace std;
void reverse(char *s)
{
char *p,*q,temp;
p=s;
q=s+strlen(s)-1;
while(q>p)
{
temp=*p;
*p=*q;
*q=temp;
p++;
q++;
}
}
void main()
{
char s[]="ABCDE";
reverse(s);
cout<<s<<endl;
}
展开
 我来答
常伴2022
2008-07-30 · TA获得超过113个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:128万
展开全部
ls的,别什么都杀毒。
把源码放出来看看。
-----------------------
char s[] = "ABCDEF";
reverse(s);
cout<<s<<endl;
回头人依然
2008-07-30 · TA获得超过1103个赞
知道大有可为答主
回答量:4153
采纳率:0%
帮助的人:0
展开全部
杀毒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sgedev
2008-07-30 · TA获得超过1030个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:631万
展开全部
源代码贴出来看一下, 我猜可能是你的类重载操作符 '<<' 的不对, << 属于二元操作符, 必须有参数, 你是不是没有定义参数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
2008-07-30 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
reverse是个void型函数,无返回值,你怎么能用cout来输出呢.

要么把字符串s改成全局变量,在main里面cout<<s;
要么就在reverse的结尾加上cout<<s;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Aegisys
2008-07-30 · TA获得超过103个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:118万
展开全部
reverse 返回VOID,无法输出其值。
//这里改下
char* reverse(char *s)
{
char *p,*q,temp;
p=s;
q=s+strlen(s)-1;
while(q>p)
{
temp=*p;
*p=*q;
*q=temp;
p++;
q++;
}
return s; // 加一行
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式