У меня есть простой пример для начинающих, и я не понимаю разницы между двумя подходами. Я хочу функцию, которая называется Create , чтобы выделить и вернуть новую структуру. PrettyPrint-Override ">struct Test {
int value;
};
Почему следующее не работает
void create(Test* ref) {
ref = new Test { .value = 2 };
}
Test* test = nullptr;
create(test);
printf("value=%i\n", t->value); // Segmentation fault
Когда это работает просто хорошо?Test* create() {
return new Test { .value = 1 };
}
Test* test = nullptr;
test=create();
printf("value=%i\n", t->value); // ok
Подробнее здесь: https://stackoverflow.com/questions/794 ... urning-one
Мобильная версия