【发布时间】:2013-11-27 13:48:58
【问题描述】:
我为following problem 编写了这段代码。我的编译器给了我以下错误- [Error] 将“a”声明为引用数组。有什么问题?
void repfunc(int& a[],int size){
for(int i=size-1;i>=0;--i){
if(a[i]==0){
a[i]=1;
return;
}
for(int j=i-1;j>=0;--ji){
if(a[i]==a[j]&&a[i]!=9){
++a[i];
a[i]%=10;
return;
}
else if(a[i]==a[j]&&a[i]==9){
a[j-1]++;
a[j-1]%=10;
FOR(k, 1,size-j){
a[k]=k;
}
return;
}
}
}
}
【问题讨论】:
-
你不能有一个引用数组,这就是问题所在(引用不是对象)。
-
为什么不呢?我该怎么办?
-
要找出原因,请关注我上面评论中的link。向下滚动到答案。关于“我该怎么做”,好吧,您仍然有两个数组可供选择 - 对象数组和指针数组。
-
那么我如何将数组传递给可以编辑数组的函数,而不声明数组全局?