对象的成员如果是数组的话构造函数要怎么写啊?

xxjahm 2012-05-07 04:55:28
比如:
#include <iostream>
using namespace std;
class a
{
private:
int b[3];
public:
a(int x[3])
{
for(int i=0;i<=3;i++)
b[i]=x[i];
}
};
void main()
{
int abc[3]={1,2,3};
a bcd(abc[3]);
}
这个样子错在哪里了啊?
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
指缝间的风 2012-05-07
  • 打赏
  • 举报
回复
还有数组越界。。
指缝间的风 2012-05-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
比如:
#include <iostream>
using namespace std;
class a
{
private:
int b[3];
public:
a(int x[3])
{
for(int i=0;i<=3;i++)
b[i]=x[i];
}
};
void main()
{
int abc[3]={1,2,3};
a bcd(abc[3]);
……
[/Quote]

a bcd(abc[3]);

改为 a bcd(abc);
你把一个变量传给指针当然有错。
patrick_880520 2012-05-07
  • 打赏
  • 举报
回复
i<=3改为i<3
patrick_880520 2012-05-07
  • 打赏
  • 举报
回复
a(int x[3])
{
for(int i=0;i<=3;i++)
b[i]=x[i];
}


改为
a(int* x)
{
for(int i=0;i<=3;i++)
b[i]=*(x+i);
}

65,207

社区成员

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

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