_Xlength_error("слишком длинный вектор") при изменении размера вектора до 0C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 _Xlength_error("слишком длинный вектор") при изменении размера вектора до 0

Сообщение Anonymous »


Я использую библиотеку LEMON для алгоритмов чистого потока, вот вся программа.

#include #include #include #include #include #include #include использование пространства имен std; использование пространства имен лимона; интервал основной() { ListDigraph g_origin; ListDigraph::NodeMap g_model(g_origin); ListDigraph::NodeMap g_name(g_origin); ListDigraph::NodeMap g_volume(g_origin); ListDigraph::ArcMap g_cost(g_origin); строка g_title; /*digraphReader(g_origin, "origin_map.lgf") .nodeMap("модель", g_model) .nodeMap("имя", g_name) .nodeMap("объем", g_volume) .arcMap("стоимость", g_cost) .attribute("подпись", g_title) .бегать();*/ } Но при запуске «ListDigraph::NodeMap g_volume(g_origin);» выдается ошибка

Я проверил исходный код LEMON и обнаружил, что NodeMap в конечном итоге ведет к классу «ArrayMap» (он работает хорошо), а NodeMap ведет к классу «VectorMap» (здесь возникает ошибка).

Вот конструктор, используемый в данном случае для VectorMap:

VectorMap(const GraphType&graph) { Parent::attach(graph.notifier(Item())); Container.resize(Parent::notifier()->maxId() + 1); } и контейнер является членом класса, который определяется как:

typedef std::vector Container; Контейнер-контейнер; В режиме отладки я заметил, что «Parent::notifier()->maxId()» обычно возвращает -1, поэтому параметр «resize()» на самом деле равен 0. Так почему же вектор::resize(0) ) выдает ошибку «слишком длинный вектор»?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

до 0" class="inputbox autowidth" />
до 0" />
Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»