Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
8 / 8 / 1
Регистрация: 03.11.2015
Сообщений: 143
1

Ошибка при инициализации массива

26.02.2017, 14:35. Просмотров 999. Ответов 6
Метки нет (Все метки)

В примере есть массив:
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
sf::String TileMap[HEIGHT_MAP] = {
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
    "                                        ",
};
если изменить инициализацию на
C++
1
2
3
4
for (int i = 0; i <= HEIGHT_MAP; i++)
    {
        TileMap[HEIGHT_MAP] = "                                        ";
    }
то при запуске выдает ошибку памяти при обращении к массиву
как инициализировать циклом без ошибок?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2017, 14:35
Ответы с готовыми решениями:

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

Ошибка при инициализации массива
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace...

Ошибка при инициализации массива
Что делать? Так как я понимаю, точку с запятой вообще в помине не должно здесь быть!о_О

Ошибка при инициализации двумерного массива
Доброго времени суток. В процессе создания программы для перевода числа из С/С = в 10чную, но...

6
6898 / 5963 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
26.02.2017, 14:42 2
Условие строгим сделай.
0
Любитель чаепитий
3266 / 1559 / 484
Регистрация: 24.08.2014
Сообщений: 5,397
Записей в блоге: 1
26.02.2017, 14:42 3
Цитата Сообщение от LightGameStudio Посмотреть сообщение
C++
1
TileMap[HEIGHT_MAP] = " * * * * * * * * * * * * * * * * * * * *";
C++
1
TileMap[i] = " * * * * * * * * * * * * * * * * * * * *";
Плюс <= переделать на <.
1
6898 / 5963 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
26.02.2017, 14:43 4
Да, и это.
0
294 / 123 / 106
Регистрация: 30.10.2015
Сообщений: 689
26.02.2017, 14:49 5
Лучший ответ Сообщение было отмечено LightGameStudio как решение

Решение

Там же кавычки, а не звездочки.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cstring>
 
int main()
{
  const unsigned int HEIGHT_MAP = 5;
  std::string tile_map[HEIGHT_MAP]; 
 
  for (size_t i = 0; i < HEIGHT_MAP; ++i)
    tile_map[i] = """;
 
  return 0;
}
Форум не пускает обратный слеш перед второй кавычкой.
1
8 / 8 / 1
Регистрация: 03.11.2015
Сообщений: 143
26.02.2017, 14:53  [ТС] 6
та же ошибка.

Добавлено через 2 минуты
да, точно, благодарю
0
Любитель чаепитий
3266 / 1559 / 484
Регистрация: 24.08.2014
Сообщений: 5,397
Записей в блоге: 1
26.02.2017, 14:57 7
Цитата Сообщение от Nemovok Посмотреть сообщение
Форум не пускает обратный слеш перед второй кавычкой.
"\\"
Выглядит как:
C++
1
"\"
А: "\\\"
Выглядит как:
C++
1
"\\"
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2017, 14:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка нарушения прав доступа при чтении по адресу, возникающая при инициализации трехмерного массива
Очень нужна ваша помощь! Я уже не знаю что тут можно сделать. Код части программы, где вылазит...

Непонятная ошибка при инициализации дин. массива
Вылетает на memset'е с ошибкой записи. Что неправильно? int i = 0; int j = 0; int k = 0; ...

Ошибка при создании шаблонной функции:"error C2075: temp: для инициализации массива требуются фигурные скобки"
template &lt;typename T&gt; int GnomeSort(T* p, int length) { int i, count; i = 0; count = 0; ...

Ошибка инициализации двумерного массива
//Нужен массив 3х3; enum colorMap {null = 0, yellow, green, blue, violet, red }; class Foo {...


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

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

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