C++出现undeclared identifier怎么办?急!!!

这是我编写的程序:
#include<iostream>
#include <cstdlib>
#include<ctime>
using namespace std;
void RandAry(int ary[], int n, int min, int max); //生成随机数序列

int main()
{ const int N=20;
int ary[N];
cout<<"生成20个1~20之间的整数:\n";
RandAry(ary, N, 1, 20); //生成N个1~20之间的整数放在数组ary中
OutAll(ary,N); //输出数组全部原始数据
cout<<"输出不相同数据序列:\n";
OutUnlike(ary,N); //输出不相同的数据,不改变原来的相对顺序
return 0;
}
//生成n个min~max的随机数序列,放在数组ary中
void RandAry(int ary[], int n, int min, int max)
{ int i, k;
srand(unsigned(time(0))); //为随机数生成器设置种子值
for(i=0; i<n; i++) //获取指定范围的随机数
{ do { k = rand(); }
while( k<min || k>max );
ary[i]= k;
}
}
void OutAll(int ary[],int n,int i)
{for (i=0;i<n;i++)
{cout<<ary[i]<<" ";}
}
void OutUnlike(int ary[],int n,int i,int j)
{for(j=0;j<n;j++)
{if(ary[j]=ary[i])
ary[j]=0;
else
ary[j]=ary[i];
}
cout<<ary[j]<<" ";
}

编译后显示是:
F:\C++作业\程序设计4-1\Cpp1.cpp(12) : error C2065: 'OutAll' : undeclared identifier
F:\C++作业\程序设计4-1\Cpp1.cpp(14) : error C2065: 'OutUnlike' : undeclared identifier
F:\C++作业\程序设计4-1\Cpp1.cpp(28) : error C2373: 'OutAll' : redefinition; different type modifiers
F:\C++作业\程序设计4-1\Cpp1.cpp(32) : error C2373: 'OutUnlike' : redefinition; different type modifiers
执行 cl.exe 时出错.

首先,你的子函数在主函数中没有声明!
其次,,你主函数中调用时,形参的数目和实参的数目不一致! 应该把定义的局部变量放到块作用域{}里面;
例如
void OutAll(int ary[],int n)
{for (int i=0;i<n;i++)
{cout<<ary[i]<<" ";}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-30
把自定义函数搬主函数前面,本回答被提问者采纳
第2个回答  2009-11-30
C中你使用的任何标识符,函数都要先让编译器知道有这么个东西
第3个回答  2009-11-30
前向声明!
相似回答