C++中都什么时候需要给一个指针new一段空间啊?
int_tmain(intargc,_TCHAR*argv[]){A*a;a->print();return0;}我这样不new空间为什么会运行出错?...
int _tmain(int argc, _TCHAR* argv[])
{
A *a;
a->print();
return 0;
}
我这样不new空间为什么会运行出错? 展开
{
A *a;
a->print();
return 0;
}
我这样不new空间为什么会运行出错? 展开
展开全部
你的指针必须要指向一个对象才可以(只要指针不为空指针就可以)...
A *a,*b;
a=new A();
b=a;
比如这里b也可以不new,因为它有指向的对象(和a是同一个)
A *a,*b;
a=new A();
b=a;
比如这里b也可以不new,因为它有指向的对象(和a是同一个)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的a指针没有指向某一内存空间,那么它就不可能执行print()方法,所以会出错。
如果你要执行方法,就需要指定内存空间。
如果你要执行方法,就需要指定内存空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你现在的指针并没有指向一个具体的对象,属于悬挂指针,所以会有错啊,指针一定要指向一个具体的对象才可以做
p->print()这样的函数调用
p->print()这样的函数调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询