为什么c++中将hash命名为数组名会报错,还有用time变量也会报错
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int Maxn=1011;
char ti[Maxn];
int hash[Maxn];
int maxa=-1,len;
void work(int x,int ans){
int tim=1;
for(int i=1;i<len-x;i++){
if((hash[i+x]-hash[i-1])==ans) tim++;
}
int tt=tim*x;
if(tt>maxa) maxa=tt;
}
int main(){
scanf("%s",ti);
len=strlen(ti);
hash[0]=(ti[0]-'a');
for(int i=1;i<len;i++) hash[i]=hash[i-1]+(ti[i]-'a')*(i+1);
for(int i=0;i<len;i++) work(i,hash[i]);
printf("%d",maxa);
return 0;
}