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

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

Войти
Регистрация
Восстановить пароль
 
kokzahvas
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 65
#1

Ошибка при инициализации строки - C++

09.08.2016, 12:00. Просмотров 208. Ответов 5

У меня почему-то компилятор очень сильно ругает пример из книги Герберта Шилдта «Полный справочник по C++».
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cstring>
int main(int argc, char** argv)
    {
        unsigned char str1[32] = "Я люблю C++"; // Компилятор не выдаёт ошибку.
        unsigned char str2[12] = "Я люблю C++"; // Компилятор выдаёт ошибку.
        unsigned char str3[12] = {'Я', ' ', 'л', 'ю', 'б', 'л', 'ю', ' ', 'C', '+', '+', '\0'}; // Компилятор выдаёт ошибку.
        return 0;
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2016, 12:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при инициализации строки (C++):

Ошибка при инициализации - C++
На 3 и 4 строчку показывает отладчик при вылете. BADpixel *enemy; pixel *player; enemy = new BADpixel(75, 10, 10, player); ...

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

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

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

Ошибка при инициализации массива - C++
В примере есть массив: sf::String TileMap = { &quot; &quot;, &quot; ...

Ошибка при инициализации массива - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; const int MEMORY = 10000; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
09.08.2016, 12:10 #2
1.
str2[12]
У меня ошибки нет.
в строке 11 символов + терминальный ноль итого - 12. Если поменять на str2[11], То будет ошибка
2.
warning C4245: инициализация: преобразование 'char' в 'unsigned char', несоответствие типов со знаком и без
Это всего лишь предупреждение, что беззнаковым элементам массива присваиваются значения знаковых констант.
0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,458
09.08.2016, 12:11 #3
Цитата Сообщение от kokzahvas Посмотреть сообщение
очень сильно ругает
Какими словами?
0
kokzahvas
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 65
09.08.2016, 12:54  [ТС] #4
Цитата Сообщение от Байт Посмотреть сообщение
Какими словами?
Пишет:
/buildSources/project_aug09a.cpp:7:35: warning: multi-character constant [-Wmultichar]
/buildSources/project_aug09a.cpp:7:46: warning: multi-character constant [-Wmultichar]
/buildSources/project_aug09a.cpp:7:52: warning: multi-character constant [-Wmultichar]
/buildSources/project_aug09a.cpp:7:64: warning: multi-character constant [-Wmultichar]
/buildSources/project_aug09a.cpp:7:70: warning: multi-character constant [-Wmultichar]
/buildSources/project_aug09a.cpp:6:34: error: initializer-string for array of chars is too long [-fpermissive]
/buildSources/project_aug09a.cpp:7:100: warning: large integer implicitly truncated to unsigned typej[Woverflow]
0
avgoor
905 / 540 / 117
Регистрация: 05.12.2015
Сообщений: 1,506
09.08.2016, 13:16 #5
kokzahvas, Среда какая, какая ОС?

У вас исходники в UTF-8. Там каждая русская буква занимает 2 байта.
0
kokzahvas
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 65
10.08.2016, 04:59  [ТС] #6
Цитата Сообщение от avgoor Посмотреть сообщение
kokzahvas, Среда какая, какая ОС?

У вас исходники в UTF-8. Там каждая русская буква занимает 2 байта.
Google Android, CppDroid и AIDE.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2016, 04:59
Привет! Вот еще темы с ответами:

Ошибка при инициализации элемента класса - C++
Добрый день, Нужна помощь более опытных форумчан, в поиске ошибки. Есть фрагмент кода: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Синтаксическая ошибка при инициализации класса - C++
Ругается на инициализацию списком struct Cord { int x=0, y=0, z=0; }; class Point { public:

Ошибка при инициализации статистической переменной. - C++
Ребят есть задание: В класс строки (пользовательский класс ) добавить статическую защищенную (protected) переменную &quot;счетчик...

Ошибка при инициализации вектора списком - C++
В книге Страуструпа элементы вектора объявляются так vector&lt;int&gt; v = { 5 , 7 , 9 , 4 , 6 , 8 } ;В netbeans (linux ubuntu) ide выдаёт...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.08.2016, 04:59
Ответ Создать тему
Опции темы

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