Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
murtukov
8 / 8 / 3
Регистрация: 30.01.2013
Сообщений: 99
#1

Передача двумерного массива в функцию - C++

25.02.2013, 04:17. Просмотров 1852. Ответов 7
Метки нет (Все метки)

Всем доброго времени суток!

В Си, при объявлении двумерного массива, можно было сразу проинициализировать его значения:

C
1
char mass[2][6] = { "Anton\0", "Misha\0" };
Но в C++ такой вариант не прокатывает. Выскакивает следующая ошибка:

error: initializer-string for array of chars is too long [-fpermissive]

Что это значит?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2013, 04:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача двумерного массива в функцию (C++):

Передача двумерного массива в функцию - C++
Доброго времени суток, форумчане. Столкнулся с проблемой передачи двумерного массива (матрицы) по указателю в функцию. Подскажите?...

Передача в функцию двумерного массива - C++
Доброго времени суток. Есть двумерный массив, размерностью n на m. Нужно передать его в качестве параметра в функцию 1) обычным способом 2)...

Передача двумерного массива в функцию - C++
в функцию set_ships передаю массив human, появляется ошибка cannot convert `int (*)' to `int**' for argument `1' to `void set_ships(int**)'...

Передача двумерного массива в функцию - C++
проблема в том что в функция inicil не изменяет похожу массива, и в output выводятся нелепые числа... #include <iostream> #include...

Передача двумерного массива в функцию - C++
Доброго времени суток. Как можно передать двумерный массив в функцию? Допустим есть функция: void filingMatrix(??). Пробовал сделать: ...

Передача двумерного массива в функцию - C++
Даны две квадратные матрицы nxn. Напечатать ту из них, которая имеет минимальный “след” (т.е. сумму элементов главной диагонали). При...

7
Kuzia domovenok
2059 / 1904 / 174
Регистрация: 25.03.2012
Сообщений: 6,553
Записей в блоге: 1
25.02.2013, 04:27 #2
C++
1
char mass[2][6] = { "Anton", "Misha" };
Добавлено через 40 секунд
Цитата Сообщение от murtukov Посмотреть сообщение
В Си, при объявлении двумерного массива, можно было сразу проинициализировать его значения:
А в крестах что, нет?
0
murtukov
8 / 8 / 3
Регистрация: 30.01.2013
Сообщений: 99
25.02.2013, 04:57  [ТС] #3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
char mass[2][6] = { "Anton", "Misha" };
Добавлено через 40 секунд

А в крестах что, нет?
Вы что, наполовину читаете сообщение? Я же ясно написал:

"Но в C++ такой вариант не прокатывает. Выскакивает следующая ошибка:

error: initializer-string for array of chars is too long [-fpermissive]"

Стало быть, что ТАКИМ ОБРАЗОМ нет.

IDE: Code::Blocks 12.11
Компилятор: GNU GCC

И на счет некорректного заголовка. Я сначала собирался запостить другой вопрос, но передумал, а изменить заголовок забыл.
0
Stanis
52 / 41 / 8
Регистрация: 16.12.2012
Сообщений: 144
25.02.2013, 05:06 #4
Цитата Сообщение от murtukov Посмотреть сообщение
char mass[2][6] = { "Anton\0", "Misha\0" };
Я может быть ошибаюсь , но кажется нужно поставить ";" вместо "," между миша и антон . Попробуйте , точно не помню.
А не фигню написал сорри
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 05:31 #5
Цитата Сообщение от murtukov Посмотреть сообщение
Вы что, наполовину читаете сообщение? Я же ясно написал:
"Но в C++ такой вариант не прокатывает.
Попробуйте написать код, как у него:
C++
1
char mass[2][6] = { "Anton", "Misha" };
1
Миниатюры
Передача двумерного массива в функцию  
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 05:58 #6
Цитата Сообщение от murtukov Посмотреть сообщение
error: initializer-string for array of chars is too long [-fpermissive]
Что это значит?
Что строка для инициализации массива слишком длинная. '\0' в конец строки компилятор сам добавляет.
2
kuli4ok
32 / 32 / 3
Регистрация: 10.10.2012
Сообщений: 88
25.02.2013, 07:20 #7
Цитата Сообщение от murtukov Посмотреть сообщение
Всем доброго времени суток!

В Си, при объявлении двумерного массива, можно было сразу проинициализировать его значения:

C
1
char mass[2][6] = { "Anton\0", "Misha\0" };
Но в C++ такой вариант не прокатывает. Выскакивает следующая ошибка:

error: initializer-string for array of chars is too long [-fpermissive]

Что это значит?
Всегда внимательно разбирайте сообщения компилятора, он лучше всякого форума вам скажет где вы ошиблись. Хотя бы просто в google переводчике перевести. Как вариант перевода: Инициализирующая строка слишком длинная для массива символов. Я думаю, вполне достаточно для того, что бы исправить ошибку.

Добавлено через 1 минуту

Не по теме:

А потом все стучат в грудь и кричат "Нафига нам английский!?" ...

1
Пaтрик
416 / 391 / 39
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
25.02.2013, 07:23 #8
murtukov, а Вы что отличия не видите?
0
25.02.2013, 07:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2013, 07:23
Привет! Вот еще темы с ответами:

Передача двумерного массива в функцию - C++
Не нашел в поиске, как правильно передавать в функцию в качестве параметра двумерный массив произвольного размера, чтобы в функции была...

Передача двумерного массива в функцию - C++
Здравствуйте! Написала код для передачи двумерного массива в функцию: #include <iostream> #include <locale.h> #include...

Передача двумерного массива в функцию - C++
Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с...

Передача двумерного массива в функцию. - C++
Требуется написать функцию которая бы слагала и умножала матрицы. Для этого Я завел двумерный динамический массив, а вот с передачей его в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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