标题:请问这错误是什么情况
只看楼主
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
结帖率:94.64%
已结贴  问题点数:20 回复次数:6 
请问这错误是什么情况
error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class ostream &(__cdecl *)(class ostream &)' (or there is no acceptable conversion)
搜索更多相关主题的帖子: conversion class 
2012-03-27 18:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:7 
ostream 的 o 是 out 的意思
>> 是 输入 的意思

2012-03-28 08:12
a99875984
Rank: 2
等 级:论坛游民
帖 子:188
专家分:24
注 册:2012-2-11
得分:0 
回复 2楼 rjsp
亲,能详细点吗?我不知道为什么会出现这种错误,出现了怎么解决
2012-03-30 09:24
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
得分:7 
我估计你是重载运算符了吧

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-03-30 15:48
蓝xuan
Rank: 4
等 级:业余侠客
帖 子:81
专家分:211
注 册:2012-3-31
得分:7 
楼主能把全部代码贴出来吗??我这有个列子
如题,在做重载运算符<< 时,用到了操纵符,其中一个函数setfill()用错了,出现这样的提示.具体代码如下:

#include <iostream>

#include <iomanip>

using namespaec std ;

……

ostream& operator <<( ostream& os , const cal_date& date )
{
 int d,m,y ;
 date.get_date( d,m,y ) ;
 os <<
setfill(0) << setw(2) << d << " / "
    << setw(2) << m << " / "
    << setw(4) << y << endl ;
 return os ;
}

……

setfill()函数的参数是字符,也就是说,调用的时候括号里的字符要加上单引号,即

sefill('0')

经过修改后就不会出现这个错误了。
2012-04-01 22:27
Gzz
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2012-4-6
得分:0 
ostream 是输出,>>是输入
2012-04-07 06:47
wsgzg
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2011-11-30
得分:0 
将>>重载为全局函数,编译器就认识cin>>XXX;
2012-04-09 22:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-364490-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.261025 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved