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????没有必要。删掉吧。