请问下,在类中定义了私有成员数组,如何在main函数中给其赋值并输出,我这个代码输出部分好像有问题

#include<iostream>classList{private:intlen;intdata[10];public:voidB(int*values){for(i... #include<iostream>
class List
{
private:
int len;
int data[10];
public:
void B(int* values)
{
for(int i=0;i<10;i++)
data[i]=values[i];
}
void displist()
{
for(int j=0;j<10;j++)
cout<<data[j]<<" ";
cout<<endl;
}
};
void main()
{
List A;
int a[3]={1,2,3};
A.B(a);
A.displist();
}
展开
 我来答
姑遂向触0L
2011-03-13 · TA获得超过190个赞
知道小有建树答主
回答量:157
采纳率:66%
帮助的人:56.2万
展开全部
int a[3]={1,2,3};
A.B(a);

void B(int* values)
{
for(int i=0;i<10;i++)
data[i]=values[i];
}

注意这两段 代码 你传的数组只包含了3个元素
而 for(int i=0;i<10;i++)
data[i]=values[i]; 中value[3]到value[10]的时候是没有分配内存的 所以出错
追问
我把数组元素数量改为一致后,依然报错如上。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b173602
2011-03-13 · TA获得超过1681个赞
知道小有建树答主
回答量:1466
采纳率:0%
帮助的人:841万
展开全部
代码肯定有问题,数组越界了,你定义的a是三个元素的数组,但是你调用的时候循环了10次,这是不可以的。
追问
但是主要问题好像还不是数组的事情,因为我没有加displist函数的时候,是可以正常跑的,加了displist函数之后就报错了,而且我将循环次数改为3后依然报错,具体如下。。
error C2065: 'cout' : undeclared identifier
error C2297: '<<' : illegal, right operand has type 'char [2]'
error C2065: 'endl' : undeclared identifier
warning C4552: '<<' : operator has no effect; expected operator with side-effect
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgl_1027
2011-03-13 · TA获得超过303个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:173万
展开全部
#include<iostream>
using namespace std;
class List
{
private:
int len;
int data[10];
public:
void B(int* values)
{
for(int i=0;i<3;i++)
data[i]=values[i];
}
void displist()
{
for(int j=0;j<3;j++)
cout<<data[j]<<" ";
cout<<endl;
}
};
void main()
{
List A;
int a[3]={1,2,3};
A.B(a);
A.displist();
}
//注意你的长度一致,你的少了using namespace std;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式