【发布时间】:2015-08-20 11:11:40
【问题描述】:
我实际上无法弄清楚我在这里做错了什么。
所以基本上我有一个对象指针,我将它传递给一个函数以将其值设置为指向一个新的 Object 实例,但它似乎不起作用,我无法解决原因。下面是我正在尝试做的代码示例。
GetPointer(Object *pointer){
pointer = new Object();
}
in main:
Object *pointer;
GetPointer(pointer);
我还尝试立即初始化指针,但它确实有效,所以我真的无法理解上面的代码有什么问题。有什么建议吗?
Object *pointer = new Object();
【问题讨论】:
-
指针没什么特别的。将
Object*替换为int,您就会明白为什么它会以这种方式工作。 -
" 设置它的值" - 不,它没有。如果没有引用、第二级间接(指针到指针)或仅使用函数返回值,您所设置的只是自动变量的值,而不是调用者的指针。
-
我明白了。当我将初始化转换为函数时,我认为这是相同的结果。