数组参数引用如何实现?

quanfeng 2004-11-20 10:46:01
假如是这样的
int a[7];
void f(&inta[7])
{
a[]....
}
这样写能正确返回吗?
假如我开始不知道数组多大?该如何实现?
...全文
196 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
somedummy 2004-11-20
  • 打赏
  • 举报
回复
没事不要乱用数组的引用作为参数,因为这样的参数类型太严格了,指针无法隐式转换成为数组的引用

如果一定需要使用的话,那么可以使用template达到你的要求,但是这样的话必须静态确定引用的类型
template<int size>void func(int (&ref)[size])
{
cout<<"size of array is"<<sizeof(ref)/sizeof(ref[0]);
}
Andy84920 2004-11-20
  • 打赏
  • 举报
回复
不能引用到数组,可以引用到指针.
你可以这样:

typedef int a[7];
void f(a &ra)
{
//...
}

64,654

社区成员

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

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