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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.69
Del_Piero_10
Smart is the new Sexy
24 / 24 / 1
Регистрация: 29.12.2008
Сообщений: 109
#1

Ошибка при выделении памяти под двумерный массив - C++

12.01.2009, 15:25. Просмотров 4384. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
using namespace std;
 
class array {
    int size1, size2;
    char **matr;
public:
    array(int n1, int n2);
    char &push(int i, int j);
    char get(int i, int j);
};
 
array::array(int n1, int n2)
{
    int k;
    matr = new *char[n1];
    for (k=0; k<n1; k++)
        matr[k] = new char[n2];
    size1 = n1;
    size2 = n2;
}
 
char &array::push(int i, int j)
{
    if (i<0 || i>=size1 || j<0 || j>=size2) {
        cout << "Границы массива нарушены";
        exit(1);
    }
    return matr[i][j];
}
 
char array::get(int i, int j)
{
    if (i<0 || i>=size1 || j<0 || j>=size2) {
        cout << "Границы массива нарушены";
        exit(1);
    }
    return matr[i][j];
}
 
void main() {
 
    array ob(2,3);
 
    ob.push(1,1) = 'X';
    ob.push(2,3) = 'A';
    cout << ob.get(1,1) << " " << ob.get(2,3);
}
Задача: Необходимо написать программу, которая создает безопасный двумерный массив (2x3) char'ов.

Программу вроде написал. Но выдает ошибку в строке
C++
1
matr = new *char[n1];
Почему?

Добавлено через 54 секунды
Ошибка вот такая: error C2059: syntax error : '*'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2009, 15:25     Ошибка при выделении памяти под двумерный массив
Посмотрите здесь:

Почему не вылетает ошибка при выделении памяти под динамический массив, размером 100 Гб? - C++
Здравствуйте, знатоки! Столкнулся с проблемой выделения памяти под динамические массивы. При создании массива более программа вылетает...

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

Ошибка при выделении памяти под вектор методом resize - C++
Всем добрый день! Возник следующий вопрос: выделяю память для вектора с помощью метода resize(w*h). Затем мне нужно на место с определенным...

Вылет при выделении памяти под вектор - C++
Пишу на С++. Создаю vector&lt;float&gt;. Преждевременно выделяю под него место с помощью resize. Нужно выделить 640381050 элементов. В итоге...

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

Ошибка при выделении памяти - C++
Вопрос: из-за чего программа может рушится? int *NRRow = new int ; int *NRow = new int ; int *NCol = new int ; //тут...

Ошибка при выделении памяти - C++
Когда убираю free(buf), то ошибки нету, а когда есть, то вылазит ошибка. Почему такое происходит? #include &lt;stdlib.h&gt; #include...

Ошибка при динамическом выделении памяти - C++
почему у меня возникет ошибка вот тут struct TOVAR *New = new struct TOVAR; пишит недопустимый неполный тип на struct подчеркивает...

Ошибка при динамическом выделении памяти - C++
Я не понимаю почему, но почему-то пример по динамическому выделению памяти, взятый с этой веб-страницы: http://cppstudio.com/post/9555/...

Ошибка при выделении памяти с помощью malloc - C++
Помогите выдает ошибку в рядочке :&quot;Ar = ( far *)malloc(size*sizeof(int));&quot; полный текст програмы: #include &quot;stdafx.h&quot; using namespace...

Двумерный массив символов: при высвобождении памяти возникает ошибка - C++
Подскажите, что не так делаю. При высвобождении памяти выбивает ошибку.Как правильно сделать? char **str = new char*; for(int...

Ошибка при выделении памяти динамически для структуры - C++
Есть программа. Вылетает ошибка. Если gets(BLOCKNOTE.NAME) заменить на cin&gt;&gt;BLOCKNOTE.NAME все работает нормально. Хотелось бы ипользовать...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.01.2009, 15:26     Ошибка при выделении памяти под двумерный массив #2
Наверное, потому что типа "*char" не существует
А существует, например "char *"...
Del_Piero_10
Smart is the new Sexy
24 / 24 / 1
Регистрация: 29.12.2008
Сообщений: 109
12.01.2009, 15:30  [ТС]     Ошибка при выделении памяти под двумерный массив #3
Спасибо.))) Блин, что за голова))
Yandex
Объявления
12.01.2009, 15:30     Ошибка при выделении памяти под двумерный массив
Ответ Создать тему
Опции темы

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