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;
} 展开
源代码如下:是将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;
} 展开
5个回答
展开全部
杀毒
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
源代码贴出来看一下, 我猜可能是你的类重载操作符 '<<' 的不对, << 属于二元操作符, 必须有参数, 你是不是没有定义参数?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
reverse是个void型函数,无返回值,你怎么能用cout来输出呢.
要么把字符串s改成全局变量,在main里面cout<<s;
要么就在reverse的结尾加上cout<<s;
要么把字符串s改成全局变量,在main里面cout<<s;
要么就在reverse的结尾加上cout<<s;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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; // 加一行
}
//这里改下
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; // 加一行
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询