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

статический массив в динамическом - C++

Восстановить пароль Регистрация
 
Dimarik__
 Аватар для Dimarik__
21 / 21 / 1
Регистрация: 29.04.2010
Сообщений: 444
28.02.2011, 23:16     статический массив в динамическом #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int**  unsIntText = new int*[yy];
 
    //создаём "столбцы"
    for (int i = 0; i < _unsCharMod; i++)
        unsIntText[i][_unsCharMod];
 
 
    for (int i = 0; i < _unsCharMod; i++)
    {
        //по столбцам
        for(int j = 0; j < yy; j++)
        {
            unsIntText[i][j] = i+j;
        }
    }
 
    ///////////////////////////
    //удаление массива
    //////////////////////////
    delete  [] unsIntText;
В точке присваивания значения элементу массива, выскакивает ошибка при выполнении
Необработанное исключение в "0x00ee71a3" в "A.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcdcdcd".
Ну это понятно: обращение по несуществующему адресу, то есть я память неправильно выделил.
В принципе есть предположение где ошибка:
Или надо int* unsIntText = new int[yy]; (зачем 2 указателя????)
или же надо
*unsIntText[i][_unsCharMod];
Но в обоих случаях компилятор ругается

Добавлено через 1 минуту
Внутри динамического хочу создать именно статический, потому что число его элементов заранее известно, а статические быстрее работают

Добавлено через 1 час 33 минуты
Код
int**  unsIntText = new int*[iblocks];
	
	for (int i = 0; i < iblocks; i++)
		unsIntText[i] = new int[_unsCharMod];

	

	//цикл по строкам
	for (int i = 0; i < iblocks; i++)
	{
		//по столбцам
		for(int j = 0; j < _unsCharMod; j++)
		{
			unsIntText[i][j] = i + j;
		}
	}


	for(int i = 0; i < iblocks; i++)
        delete []unsIntText[i];
	delete  [] unsIntText;
В результате у меня почему-то получается, что когда я смотрю в отладчике значения массива, у меня он пустым оказывается!!!
Я просто делаю точку останова на delete []unsIntText[i]; (чтобы посмотреть что в массиве до его удаления) и у меня показывает отладчик только адрес первого элемента массива. Как мне в отладчике посмотреть его содержание?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2011, 23:16     статический массив в динамическом
Посмотрите здесь:

Указатель на статический массив C++
Статический массив C++
C++ сформировать статический массив
C++ Статический двумерный массив
статический массив C++
Выравнивание при динамическом выделении памяти под массив C++
Статический двумерный массив C++
Статический массив в классе C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru