Я работаю над школьным проектом для графиков, и здесь я сначала делаю глубокий поиск по дереву.
void wdigraph::depth_first(int v) const {
static int firstv = -1;
static bool *visited = NULL;
if (firstv == -1) {
firstv = v;
vector<bool> visited(size);
for (int i = 0; i < size; i++) {
visited[i] = false;
cout << visited[i] << endl;
}
}
cout << label[v];
visited[v] = true;
// visit [0] = true;
Первое входное значение для функции - 0 (v = 0), и при этом оно падает.size = 5. Как вы можете видеть в конце кода, я попытался вручную установить значение true для посещения с той же ошибкой сегмента.Когда я удаляю все попытки изменить посещаемость, программа работает как обычно без ошибки сегмента.
Есть идеи, почему это нельзя изменить?Кроме того, есть еще код, но я решил не предоставлять его без необходимости.