Ваши ребра хранятся в std :: vector.Если у вас есть N вершин, то все вершины пронумерованы от 0 до N. Если вы удалите одну из них, ваши вершины будут перенумерованы с o на N-1.Поэтому ваш дескриптор будет признан недействительным.
Однако возможен обходной вариант: - итерация от N до 0 - проверка вашего узла и удаление его при необходимости
Это предполагает (и яЯ не уверен, но уверен, что он перенумерует только вершины после той, которую вы только что удалили.
Если вы много делаете эту манипуляцию, она может быть довольно медленнойв зависимости от размера вашего графа.
Если этот подход не работает, вам придется построить новый граф из старого (предварительно рассчитав, сколько у вас будет вершин и ребер, это может на самом делебудь разумно быстрым).
Так что, извини, нет реального ответа, но я надеюсь, тебе удастся что-то из этого извлечь.