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

Как объявить безразмерную матрицу - C++

Восстановить пароль Регистрация
 
emmure
2 / 2 / 0
Регистрация: 15.12.2012
Сообщений: 93
12.06.2014, 03:47     Как объявить безразмерную матрицу #1
Здравствуйте, мне надо написать функцию которая работает с массивом вида char txt[ ][ ], как обьявить эту переменную в функции. Я не знаю размеров массива, а например void set(char txt[ ][ ]) пишет - "массив не может содержать элементы этого типа".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 03:47     Как объявить безразмерную матрицу
Посмотрите здесь:

Как создать безразмерную строку,чтобы размер определялся после ввода значений строки C++
C++ Как объявить динамическую матрицу
C++ Как объявить переменную?
Как объявить 10 значную переменную такой как 9876543210 C++
C++ Ошибка: Необъявленные идентификаторы
Класс - матрица, как объявить нужную мне матрицу в конструкторе C++
C++ Как объявить редактируемый список char в интерфейсе класса и как его заполнить в конструкторе?
Как объявить идентификатор? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
12.06.2014, 03:54     Как объявить безразмерную матрицу #2
строка в С - это массив символов,
массив строк - 2хмерный массив символов
2х-мерные массивы по сути это указатели на массив указателей
т е для передачи массива строк можно записать
C++
1
some func(char **argv);
Renji
1533 / 981 / 239
Регистрация: 05.06.2014
Сообщений: 2,951
12.06.2014, 05:23     Как объявить безразмерную матрицу #3
Здравствуйте, мне надо написать функцию которая работает с массивом вида char txt[ ][ ], как обьявить эту переменную в функции. Я не знаю размеров массива, а например void set(char txt[ ][ ]) пишет - "массив не может содержать элементы этого типа".
Не зная размеров массива - никак. Пользуйтесь std::vector<std::string> или std::vector<std::vector<char> >. Зная размер по второму индексу:
C++
1
2
3
4
5
typedef char (inner_string)[сколько там у вас букв в строчке];
void some_func(inner_string*array)
{
    ...
}
2х-мерные массивы по сути это указатели на массив указателей
Двумерные массивы это по сути массив одномерных. И то что массив char можно перекастовать к указателю на char, вовсе не означает что массив - указатель и есть. Ну а предложенный вами код банально выдаст ошибку компиляции.
Yandex
Объявления
12.06.2014, 05:23     Как объявить безразмерную матрицу
Ответ Создать тему
Опции темы

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