Форум программистов, компьютерный форум CyberForum.ru

Resize вектора вызывает ошибку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в коде - не могу найти http://www.cyberforum.ru/cpp-beginners/thread1490550.html
Здравствуйте, подскажите пожалуйста, в чём проблема. Без последней строки cout<<count; в методе Show программа закрывается. Со строкой программа отрабатывает нормально но неправильно работает String String::Copy() (VS 2012, VS 2013) Заранее спасибо! #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string.h> using namespace std; class String { char *str; int count; public:...
C++ Пояснить по работе с указателями Здравствуйте! волнует вопрос об указателях: 1) указатель на переменную используется для ускорения выполнения программы, заменяя реальное значение переменной, указателем на адрес первого байта. int a = 10; int *b = &a; // указателю *b присвоили адрес переменной При выводе получим: a=10; b=адрес а; &a=адрес a; http://www.cyberforum.ru/cpp-beginners/thread1490548.html
Использована неиницизированная перменная z C++
Пишет ,что использована неиницизированная локальная переменная z. Подскажите как испрвить!! #include "stdafx.h" #include<iostream> #include<time.h> #include<stdlib.h> #include <stdio.h> #include <string.h>
C++ WinAPI При попытке создать директорию ошибка: Невозможно создать файл т.к. он уже существует
Здравствуйте. Использую такой вот код: int WriteLog( ) { ofstream myfile; LPCTSTR path = (wchar_t*)"C:\\UpdateApplication\\" ; CreateDirectory( path , NULL) ; HRESULT hr = HRESULT_FROM_WIN32(GetLastError());
C++ Сгруппированая таблица с раскрывающимися строками http://www.cyberforum.ru/cpp-beginners/thread1490498.html
В приложении Win Forms реализована таблица, заполненая выборкой из БД. Каждая строка таблицы-источника имеет поля "название" и "категория". Пытаюсь сделать чтоб в форме отображалась таблица с категориями, при щелчке по которым будет раскрываться подтаблица с наименованиями и прочими данными, относящимися к выбраной категории. Перерыл сеть - не нашёл ни одного мануала по этому вопросу. Можно ли...
C++ Как правильно передать несколько данных в программу из функции? В функции outArray формирую массив, а затем адрес первого элемента массива вместе с количеством строк и столбцов массива передаю в программу:#include <iostream> #include <string> #include <tchar.h> using namespace std; float** outArray() { float nrow = 3.0; float ncol = 5.0; подробнее

Показать сообщение отдельно
Pro_ha
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 32
30.06.2015, 16:29     Resize вектора вызывает ошибку
C++
1
2
3
4
5
std::vector<MyClass*> vec;
vec.resize(1, NULL)
vec[0] = new MyClass();
 
vec.resize(5, NULL); // Тут возникает ошибка
Ошибка в файле xmemory в функции "_Destroy_range"

Если же перед использованием вектора зарезвервировать память vec.reserve(10), то ошибки не возникает.
Я так понимаю, когда увеличиваю вектор, он выделяет новую память с новым размером, и туда пытается перенести существующие указатели, удалив из старой памяти. Но зачем их удалять? Это ведь указатели.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru