C ++在函数中创建新对象

时间:2018-08-07 13:14:26

标签: c++

我茫然为什么不能

  1. 声明对象指针设置为0
  2. 将对象指针传递给将创建对象的函数
  3. 该函数将传递的指针设置为新分配的对象

示例

.as-console-wrapper {max-height: 100% !important;top: 0;}

结果是段错误...

在我的脑海中,我只是声明一个指针,将地址传递给函数,然后函数将地址设置为所分配对象的地址...

1 个答案:

答案 0 :(得分:4)

您传递指针的副本并在那里分配对象。使用参考:

void DoFoo(Unit *&unit);

void DoFoo(Unit *&unit){
    unit = new Unit();
    unit->name = "hi";
}