@Rinsewind

Почему в переменной оказывается мусор?

День добрый!

Есть структура, хранящая пару строк:
struct KeyValue {
  String Key;
  String Value;
  KeyValue* Next;
};


В Variable хранится переменная типа KeyValue;

KeyValue* Last = &Variable;
KeyValue N = KeyValue { Name, Val, nullptr};
Last->Next = &N;
Last = Last->Next;


Почему после выполнения этого кода в Last->Key оказывается мусор?
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
@vanyamba-electronics
Потому что переменная N локальная, и перестаёт существовать после строки:
Last->Next = &N;
Следует сделать так:
KeyValue* Last = &Variable;
KeyValue* pN = new KeyValue { Name, Val, nullptr};
Last->Next = pN;
Last = Last->Next;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы