Это фрагмент кода, который я использую:
void Move::AddToMovesList(Location* &list, int row, int col) {
// If the list is empty, create the first item
if (list == NULL)
list = new Location(row, col);
// List exists, so append
else
list->Add(row, col);
}
Если list
равен NULL
, следует создать новый Location
и указатель list
должен указать на это новое местоположение,Такое поведение я ожидаю от этого кода, но прямо перед тем, как GDB выйдет из этой функции, я заметил, что list
по-прежнему NULL
.Что я здесь не так делаю?
Я использовал амперсанд в Location* &list
, чтобы убедиться, что я могу постоянно (по сравнению с локально) изменять предоставленный указатель.