首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

BigInt类的输入流有关问题

2012-06-03 
BigInt类的输入流问题istream& operator(istream& in, BigInt& val){in val.numif(in){if(val.num[0

BigInt类的输入流问题
istream& operator>>(istream& in, BigInt& val)
{
  in >> val.num;
  if(in){
  if(val.num[0] != '-' && val.num[0] != '+'){
  string::size_type i = 0;
  for(; i < val.num.size() - 1 && val.num[i] == '0'; ++i);
  if(i > 0)
  val.num.replace(0, i, "+");
  else
  val.num.insert(0, 1, '+');
  } 
  else 
  {
  if(val.num.size() == 1)
  val.num = "+0";
  else{
  string::size_type i = 1;
  for(; i < val.num.size() - 1 && val.num[i] == '0'; ++i);
  if(i > 1)
  val.num.erase(1, i-1);
  if(val.num == "-0")
  val.num[0] = '+';
  }
  }
  } else 
  val = BigInt();
  return in;
}

int main()
{
  BigInt a,b,c,d;
  cin>>a>>endl;
}

求帮助,这是哪错了?
263 C:\Documents and Settings\桌面\大数.cpp no match for 'operator>>' in 'operator>>(((std::istream&)(&std::cin)), ((BigInt&)(&a))) >> std::endl'

[解决办法]
楼主为什么要在输入的后面加个endl????没有必要。删掉吧。

热点排行