万千只cnm 发表于 2021-9-14 15:56:43

c++ 重载 >>

ostream& operator>>(ostream &in ,currency &x){ // 友元函数 :
      long temp;
      in>>temp;
         x.amount = temp*100;
      return in;
}
currency 是我自己定义的类
重载>>符号 为啥
in>>temp; 报错说 没有与temp匹配的操作数
in不是输入流吗 和cin啥区别

万千只cnm 发表于 2021-9-14 16:01:27

我主函数
cin>>a;
也说没有匹配的操作数 按道理不是已经重载了>> 嘛

routty 发表于 2021-9-14 16:13:37

本帖最后由 routty 于 2021-9-14 16:23 编辑

cin 是标准库 自带的 你的in是重载的形参,你形成和实参类型不一样了

routty 发表于 2021-9-14 16:20:36

函数中 ostream& in改成 istream& in

人造人 发表于 2021-9-14 16:21:32

应该是 istream
istream& operator>>(istream &in ,currency &x){
      long temp;
      in>>temp;
         x.amount = temp*100;
      return in;
}

routty 发表于 2021-9-14 16:27:23

人造人 发表于 2021-9-14 16:21
应该是 istream

老版主好
页: [1]
查看完整版本: c++ 重载 >>