如何将数组 传入 以指针为参数的函数里。。。。

chago_ 2011-11-12 08:52:41

#include<iostream.h>
#include<stdio.h>
void maxmin(int *p , int &max , int &min)
{
int temp=*p;
int *a =&max;
int *b=&min;

for(int i=0;i<10;i++)
{
if(temp<*(p+i))
temp=*(p+i);
}
*a=temp;
int temp1=*p;
for(int k=0;k<10;k++)
{
if(temp>*(p+k))
temp=*(p+k);
}
*b=temp1;

}
int main()
{
int a[10];
for(int j=0;j<10;j++)
cin>>a[j];
int *r=a;
int max;
int min;
void maxmin(int *p , int &max , int &min);
maxmin(a,&max,&min);
printf("%d\n",max);
printf("%d\n",min);
return 0;
}


error C2664: 'maxmin' : cannot convert parameter 2 from 'int *' to 'int &'
怎样将数组传进去。。。
...全文
146 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengzhixi 2011-11-12
  • 打赏
  • 举报
回复
void maxmin(int  *p , int &max , int  &min)
{
int temp=p[0];

for(int i=0;i<10;i++)
{
if(temp<p[i])
temp=p[i];
}
max=temp;
int temp1=p[0];
for(int k=0;k<10;k++)
{
if(temp1>p[k])
temp1=p[k];
}
min=temp1;

}
int main()
{
int a[10];
for(int j=0;j<10;j++)
cin>>a[j];
int *r=a;
int max;
int min;
void maxmin(int *p , int &max , int &min);
maxmin(a,max,min);
printf("%d\n",max);
printf("%d\n",min);


system("pause");
return 0;
}
jixingzhong 2011-11-12
  • 打赏
  • 举报
回复
和数组没有关系,问题在后面的参数:

error C2664: 'maxmin' : cannot convert parameter 2 from 'int *' to 'int &'

引用参数传递时,实参不需要&符号。
pengzhixi 2011-11-12
  • 打赏
  • 举报
回复
maxmin(a,max,min);

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧