在C++工程里面可以 ,移植到MFC界面里面报错,求解决!

nicefengyu 2011-09-09 02:44:06

friend ifstream & operator>>(ifstream & stream, Hero & myhero) //操作符重载,定义为友员
{
stream>>myhero.Name>>myhero.Attack>>myhero.Defense>>myhero.Speed>>myhero.Blood>>myhero.Luck>>myhero.sk.Dodge
>>myhero.sk.Resist>>myhero.sk.trip>>myhero.sk.DoubleHit>>myhero.sk.Poison>>myhero.sk.Anger>>myhero.sk.Madden>>myhero.sk.Smite
>>myhero.sk.Critical>>myhero.sk.BreakOut>>myhero.sk.Curse>>myhero.sk.Kind>>myhero.sk.HeroSkill;
return stream;
}
friend ofstream & operator<<(ofstream & stream,const Hero & myhero) //操作符重载,定义为友员
{
stream<<endl<<myhero.Name<<endl<<myhero.Attack<<endl<<myhero.Defense<<endl<<myhero.Speed<<endl<<myhero.Blood<<endl<<myhero.Luck<<endl<<myhero.sk.Dodge
<<endl<<myhero.sk.Resist<<endl<<myhero.sk.trip<<endl<<myhero.sk.DoubleHit<<endl<<myhero.sk.Poison<<endl<<myhero.sk.Anger<<endl<<myhero.sk.Madden
<<endl<<myhero.sk.Smite<<endl<<myhero.sk.Critical<<endl<<myhero.sk.BreakOut<<endl<<myhero.sk.Curse<<endl<<myhero.sk.Kind<<endl<<myhero.sk.HeroSkill;
return stream;
}



void Hero::WriteHero ()
{
ofstream fout("Hero.txt",ios::out);
for(vector<Hero>::iterator iter = vHero.begin(); iter != vHero.end(); ++iter)
{
fout<<*iter;
}
fout.close();
}

//---------------把文件中的数据读入向量-------------------
void Hero::ReadHero ()
{
Hero Hero;
vHero.clear();
ifstream fin("Hero.txt",ios::in);
if(fin)
{
while(fin.peek()!=EOF)
{
fin>>Hero;
vHero.push_back(Hero);
}
}
fin.close();
}

E:\项目\NameGames\Hero.cpp(110) : error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class Hero' (or there is no acceptable conversion)
E:\项目\NameGames\Hero.cpp(125) : error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class Hero' (or there is no acceptable conversion)
NameGames.cpp
...全文
91 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
buyong 2011-09-09
  • 打赏
  • 举报
回复
重载语句在出错文件中么?
用户 昵称 2011-09-09
  • 打赏
  • 举报
回复
厄都看不懂
ripya 2011-09-09
  • 打赏
  • 举报
回复
是不是迁移代码时,头文件中的声明漏掉了。看起来挺像的
nicefengyu 2011-09-09
  • 打赏
  • 举报
回复

木有厉害的大牛么?
jyh_baoding 2011-09-09
  • 打赏
  • 举报
回复
一般是可以使用的
nicefengyu 2011-09-09
  • 打赏
  • 举报
回复

但是我在C++工程里面用的是一样的重载,却可以用
quwei197874 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nicefengyu 的回复:]

引用 1 楼 fandh 的回复:
Hero 这个类没有重载<<



我上面不是重载了?
[/Quote]重载错了
nicefengyu 2011-09-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fandh 的回复:]
Hero 这个类没有重载<<
[/Quote]


我上面不是重载了?
fandh 2011-09-09
  • 打赏
  • 举报
回复
Hero 这个类没有重载<<

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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