为什么编译错误
  • 板块题目总版
  • 楼主kezichen2012
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/10/17 22:16
  • 上次更新2024/10/18 11:37:54
查看原帖
为什么编译错误
1454772
kezichen2012楼主2024/10/17 22:16
#include<bits/stdc++.h>
using namespace std;
class Bigint{
private: 
	int a[205];
public:
	Bigint(){
		memset(a,0,sizeof(a));
		a[0]=1;
	}
	friend ostream & operator<<(ostream &o,const Bigint & b);
	friend istream & operator<<(istream &in,Bigint & b);
	Bigint operator+ (Bigint r){
		Bigint c;
		c.a[0]=max(a[0],r.a[0]);
		int g=0;
		for(int i=1;i<=c.a[0];i++){
			c.a[i]=a[i]+r.a[i]+g;
			if(c.a[i]>9){
				g=1;
				c.a[i]-=10;
			}else{
				g=0;
			}
		}
		if(g){
			c.a[0]++;
			c.a[c.a[0]]=1;
		}
		return c;
	}
}; 
istream & operator >> (istream & in,Bigint & b){
	string s;
	in>>s;
	memset(b.a,0,sizeof(b.a));
	b.a[0]=s.size();
	for(int i=0,j=b.a[0];i<b.a[0];i++,j--){
		b.a[j]=s[i]-'0';
	}
	for(int len=b.a[0],i=len;i>1;i--){
		if(b.a[i]==0) b.a[0]--; else break;
	}
	return in;
}
ostream &operator << (ostream &o,const Bigint & b){
	for(int i=b.a[0];i>0;i--) o<<b.a[i];
	return o;
}
int main(){
	Bigint a,b;
	cin>>a>>b;
	cout<<a+b;
	return 0;
}

编译器说第5行错了

2024/10/17 22:16
加载中...