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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
#1

Ошибка инициализации bool*** - C++

29.10.2012, 14:37. Просмотров 405. Ответов 7
Метки нет (Все метки)

Я, похоже, совершенно не разбираюсь в указателях, так что еще один глупый вопрос: где ошибка?
C++
1
2
3
4
5
6
7
       bool*** result_array = new bool**[t + 1];
       for(int sch = 0; sch < n; sch ++){
        **result_array[sch] = new bool*[n];
        for(int sch2 = 0; sch2 < n; sch2 ++){
            *result_array[sch][sch2] = new bool[n];
        }
    }
n и t - заданные размеры массива [t+1][n][n]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2012, 14:37     Ошибка инициализации bool***
Посмотрите здесь:

Ошибка в bool функции - C++
#define ADD_OBJ 2 #define ADD_SUB 4 #define DEL_OBJ 8 #define DEL_SUB 16 #define ADD_RIGHT 32 #define DEL_RIGHT 64 #define READ...

тип bool ошибка обработки - C++
при вводе любого значения отличного от 0 или 1 тело в условии выполняется, т.е. введённое число 100 в type генерирует исключение: bool...

Ошибка с типом данных bool - C++
Помогите разобрать ошибку, суть следующая есть массив use, который помечает куда записывались переменные, если массив use типа bool то...

Ошибка при использовании vector<bool> - C++
Текст ошибки (Visual studio 2013): Ошибка 2 error C2440: return: невозможно преобразовать...

Ошибка инициализации - C++
Помогите пожалуйста исправить ошибку в этой программе #include &lt;iostream&gt; using namespace std; #include &lt;cstring&gt; class ZOO ...

Ошибка инициализации - C++
При такой инициализации вылезают ошибки: error C2064: term does not evaluate to a function taking 7 arguments IntelliSense: call of...

Ошибка инициализации - C++
Доброго времени суток! У меня такая проблема, создал небольшой проект в windows forms, ну мой первый калькулятор, фактически это мое первое...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
29.10.2012, 14:38     Ошибка инициализации bool*** #2
ты что сделать то хочешь?) У тебя такая же ситуация, как и в прошлый раз. Объясни свои намерения.
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
29.10.2012, 14:39  [ТС]     Ошибка инициализации bool*** #3
Хочу сделать трехмерный массив
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
29.10.2012, 14:44     Ошибка инициализации bool*** #4
звездочки убери в тех же местах где и раньше)
John Prick
773 / 706 / 129
Регистрация: 27.07.2012
Сообщений: 2,022
Завершенные тесты: 3
29.10.2012, 14:46     Ошибка инициализации bool*** #5
Трёхмерный массив - это не указатель на указатель на указатель. Трёхмерный статический массив преобразуется в такой же указатель на его первый элемент.
C++
1
2
bool HorrorBool[3][4][5];
bool * pBool = &HorrorBool[0][0][0];
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
29.10.2012, 14:56  [ТС]     Ошибка инициализации bool*** #6
Простите, John Prick, я не знаю заранее размерности массива.

Добавлено через 7 минут
Выбрасывает на строчке

Цитата Сообщение от ikmik Посмотреть сообщение
**result_array[sch] = new bool*[n];
исключение "нарушение прав доступа при чтении"
John Prick
773 / 706 / 129
Регистрация: 27.07.2012
Сообщений: 2,022
Завершенные тесты: 3
29.10.2012, 14:57     Ошибка инициализации bool*** #7
Ну в вашем коде трёхмерного массива по сути нет. Есть лишь массив указателей на bool, каждому из которых выделяется память под такой же массив указателей на bool, где уже каждый указатель указывает на одиночную переменную типа bool.

Вот так, по идее, будет работать, не проверял.
C++
1
2
3
4
5
6
7
       bool*** result_array = new bool**[t + 1];
       for(int sch = 0; sch < n; sch ++){
          result_array[sch] = new bool*[n];
        for(int sch2 = 0; sch2 < n; sch2 ++){
             result_array[sch][sch2] = new bool[n];
        }
   }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 15:03     Ошибка инициализации bool***
Еще ссылки по теме:

Ошибка инициализации переменных - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; double f(double x) { return ...

Ошибка инициализации переменной - C++
Подскажите, пожалуйста, как исправить ошибку инициализации vp в данном случае? По идее, в итоге должно получиться три разных значения vp. ...

Ошибка при инициализации - C++
На 3 и 4 строчку показывает отладчик при вылете. BADpixel *enemy; pixel *player; enemy = new BADpixel(75, 10, 10, player); ...

Ошибка инициализации классов - C++
Доброго времени суток, Я в основном программирую на C#, но вот решил попробовать плюсы. И облом при первой же попытке, в шарпе при...

Ошибка при инициализации массива - C++
Не понимаю, почему не работает. Массив создается после введения количества его элементов, но все равно компилятор ругается. Код работать...


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

Или воспользуйтесь поиском по форуму:
ikmik
6 / 6 / 0
Регистрация: 07.07.2011
Сообщений: 117
29.10.2012, 15:03  [ТС]     Ошибка инициализации bool*** #8
John Prick, Спасибо, теперь работает
Yandex
Объявления
29.10.2012, 15:03     Ошибка инициализации bool***
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru