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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выведено изображение, нужно на нем нарисовать по фигуру (квадрат, круг) http://www.cyberforum.ru/cpp-beginners/thread20743.html
Выведено изображение, нужно на нем нарисовать по фигуру (квадрат, круг). размер и положение я должен выбрать.
C++ Создание полноценного файла Подскажите пожалуйста, вот я в интернете нашёл функцию написанную на C++, что в него надо дополнить что бы в далнейшем его компилировать в Visual C++ 6 и создать рабочее приложение? Заранее благодарю... void gShowHideTaskBar(BOOL bHide /*=FALSE*/) { CRect rectWorkArea = CRect(0,0,0,0); CRect rectTaskBar = CRect(0,0,0,0); CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", ""); http://www.cyberforum.ru/cpp-beginners/thread20739.html
C++ Дана строка. Подсчитать, сколько различных символов встречается в ней. Вывести их на экран.
Помогите решить задачи: 1. Найти все простые натуральные числа, не превосходящие n, двоичная запись которых представляет собой палиндром, т.е. читается одинаково слева направо и справа налево. 2. Задана матрица размером п х т. Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении k-й...
C++ Как считать строки из файла, если там больше одной строки?
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets считывается только первая строка, если fscanf, то же самое, если while (! feof (fin)) fscanf …, то копируется крайняя строка файла. Может кто – нибудь подсказать как это сделать без использования ofstream и т.д. И ещё вопрос, в чём отличие fscanf (fin, "%s",...
C++ Как работает программа http://www.cyberforum.ru/cpp-beginners/thread20715.html
Не могу понять, как работает эта программа (код нашёл на каком – то из сайтов): // crt_strtok.c // compile with: /W3 // In this program, a loop uses strtok // to print all the tokens (separated by commas // or blanks) in the string named "string". // #include <string.h> #include <stdio.h>
C++ Вопрос по встраиваемым функциям В книге прочитал, что если объявить функцию как inline, то код самой функции при компиляции копируется в главную программу, а в конце добавлено, что ключевое слово inline служит для компилятора рекомендацией скопировать код функции, и компилятор волен проигнорировать эти рекомендации и обращаться как обычно. То есть, можно всегда писать inline, а компилятор сам определит наиболее эффективный... подробнее

Показать сообщение отдельно
Del_Piero_10
Smart is the new Sexy
24 / 24 / 1
Регистрация: 29.12.2008
Сообщений: 109

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

12.01.2009, 15:25. Просмотров 4369. Ответов 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 : '*'
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru