【发布时间】:2012-01-25 00:53:57
【问题描述】:
我有以下伪代码:
function1()//Gets called on startup
{
myclass* obj;
function2(obj);
obj->doSomething();//crashes here!
}
function2(myclass*& ret)
{
myclass* nobj = &myclass();
nobj->doSomething();//Does not crash
ret = &nobj;
}
看起来即使我将 ret 设置为指向 nobj,但当我尝试对 obj 进行操作(它应该指向 nobj,因为 ret 是对 obj 的引用)时,我的程序崩溃了!显然我做错了什么,有人知道是什么吗?
【问题讨论】:
-
ret声明在哪里? -
@Mr.TAMER function2(myclass*& ret)
-
啊,看来我需要多睡了!
-
这真的是您使用的代码吗?您是否收到有关不兼容指针类型的警告?
-
不过,您不是缺少
new还是伪代码问题?
标签: c++ pointers reference crash gdi+