函数传指针有关问题?解决了立既结贴。多谢
函数传指针问题?急!解决了立既结贴。谢谢
void myfun(CPoint *pts)
{
pts = new CPoint[2];
pts[0].x = 1;
pts[0].y = 1;
pts[1].x = 2;
pts[1].y = 2;
}
CPoint *A = NULL;
myfun(A);
怎么A 没有值?急,请知道的说一下,谢谢
------解决方案--------------------
CPoint *A = myfun();
void myfun()
{
CPoint *pts = new CPoint[2];
pts[0].x = 1;
pts[0].y = 1;
pts[1].x = 2;
pts[1].y = 2;
return pts;
}
------解决方案--------------------
1、你在什么地方看的?
2、看看A[0],A[1]的值;
3、对结构和类对象尽量用引用(&)来返回。
------解决方案--------------------
int myfun(CPoint& *pts)
加个引用
------解决方案--------------------
要想在函数题内修改指针的内容,需要传入该指针的指针,因为函数默认是按值传得
------解决方案--------------------
直接调用呀,就如myfun(&A);
------解决方案--------------------
估计问题出在这里*pts = new CPoint[2];
这个语句是不是应该在函数的外面,由调用这个函数的函数来执行呢
------解决方案--------------------
没搞清楚就结贴了啊
------解决方案--------------------
晕!只不过是个错觉。
其实就是没有把指针本身传进去,只传了一个副本。因此原来指针所指的东西当然不会变化了。
只要好好考虑一下就清楚了。
void myfun(CPoint *pts)
{
pts = new CPoint[2];
pts[0].x = 1;
pts[0].y = 1;
pts[1].x = 2;
pts[1].y = 2;
}
CPoint *A = NULL;
myfun(A);
怎么A 没有值?急,请知道的说一下,谢谢
------解决方案--------------------
CPoint *A = myfun();
void myfun()
{
CPoint *pts = new CPoint[2];
pts[0].x = 1;
pts[0].y = 1;
pts[1].x = 2;
pts[1].y = 2;
return pts;
}
------解决方案--------------------
1、你在什么地方看的?
2、看看A[0],A[1]的值;
3、对结构和类对象尽量用引用(&)来返回。
------解决方案--------------------
int myfun(CPoint& *pts)
加个引用
------解决方案--------------------
要想在函数题内修改指针的内容,需要传入该指针的指针,因为函数默认是按值传得
------解决方案--------------------
直接调用呀,就如myfun(&A);
------解决方案--------------------
估计问题出在这里*pts = new CPoint[2];
这个语句是不是应该在函数的外面,由调用这个函数的函数来执行呢
------解决方案--------------------
没搞清楚就结贴了啊
------解决方案--------------------
晕!只不过是个错觉。
其实就是没有把指针本身传进去,只传了一个副本。因此原来指针所指的东西当然不会变化了。
只要好好考虑一下就清楚了。