我建立了一个类
class temp
{
int a[2][10];
}
可是我想给它赋值:
temp *str;
str->a[0][0]=0;怎么会出现错误,应该怎么赋值??
类指针对象赋值
答案:2 悬赏:30
解决时间 2021-03-12 08:36
- 提问者网友:樱花树下最美的约定
- 2021-03-11 22:43
最佳答案
- 二级知识专家网友:兮沫♡晨曦
- 2021-03-12 00:06
你这句话temp *str; 没分配空间
temp *str=new temp;
这样就可以了
temp *str=new temp;
这样就可以了
全部回答
- 1楼网友:颜值超标
- 2021-03-12 00:46
你test函数中传的是指针,你新建了一个book对象p,赋值后,把p的地址给了head,但是这并没有改变head所指向的book对象,也没有改变head的地址这和你传一个变量一样,比如void test(int a){a=1;}你执行这个test后并没有改变a的值,这个你的head=p,是一样的指针的赋值操作,是因为对传递的指针进行了解引用,如果不解引用,是和传递一个普通变量一样的有点乱,给你写的具体的例子,你就会明白,同样是传递指针,如果不解引用而是简单的赋值,并没有改变什么#include using namespace std;void fun1(int *a,int *b)//这个方法中,进行了解引用后赋值,改变了指针所指变量的值{int c;c=*a;*a=*b;*b=c;}void fun2(int *a,int *b)//而这个方法中,改变的是"指针"本身,而不是指针"所指"的变量,这里的"指针"是加引号的,是因为它是临时的指针,只是main中&a,&b的复制,并不是&a,&b,也就是说实质上它没有改变任何东西{int *c;c=a;a=b;b=c;}int main (void){int a=3,b=1;fun2(&a,&b);cout<<"fun2之后:";cout<<"a="<
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |