Записанный вами цикл зацикливается на значениях массива:
for (Node* eachNode:nodes) {
eachNode = 0;
}
Вышеприведенный цикл мог бы быть написан с использованием auto
:
for (auto eachNode:nodes) {
eachNode = 0;
}
Проблема с вышеуказанными циклами состоит в том, что eachNode
является , а не указателем, хранящимся в массиве, но копией этого указателя, хранящимся в локальной переменной цикла.
Если вы хотите установить узел на нуль, вам нужна ссылка на область памяти, где вы хотите установить его . Вы получаете эту ссылку, ссылаясь на элемент массива, используя auto&
:
for (auto& eachNode:nodes) {
eachNode = 0;
}
Этот последний сегмент, скорее всего, будет делать то, что вы хотите.