В
A.connect(C, 3);
connect
принимает узел next
в качестве ссылки, но когда он помещает его в nextNodes
, nextNodes
делает копию. Это означает, что после A.connect(C, 3);
и C.connect(B, 4);
. C в A отличается от C и ничего не знает о B. Эта копия C не имеет узлов в nextNodes
, поэтому
Node next = currentNode.nextNodes[0];
решается на неопределенное поведение. В вашем случае это поведение , оно не работает. Что бы это ни значило.
Решение: A должен содержать ссылку на C, а не его копию. Вам придется ознакомиться с использованием указателей или упаковщиков ссылок, потому что вы не можете помещать ссылки в vector
.