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

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

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

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

09.08.2016, 12:00. Просмотров 191. Ответов 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;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2016, 12:00     Ошибка при инициализации строки
Посмотрите здесь:

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

Ошибка при инициализации массива - 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; ...

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,184
Завершенные тесты: 1
09.08.2016, 12:10     Ошибка при инициализации строки #2
1.
str2[12]
У меня ошибки нет.
в строке 11 символов + терминальный ноль итого - 12. Если поменять на str2[11], То будет ошибка
2.
warning C4245: инициализация: преобразование 'char' в 'unsigned char', несоответствие типов со знаком и без
Это всего лишь предупреждение, что беззнаковым элементам массива присваиваются значения знаковых констант.
Байт
Эксперт C
15835 / 10162 / 1522
Регистрация: 24.12.2010
Сообщений: 19,160
09.08.2016, 12:11     Ошибка при инициализации строки #3
Цитата Сообщение от kokzahvas Посмотреть сообщение
очень сильно ругает
Какими словами?
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]
avgoor
884 / 519 / 112
Регистрация: 05.12.2015
Сообщений: 1,464
09.08.2016, 13:16     Ошибка при инициализации строки #5
kokzahvas, Среда какая, какая ОС?

У вас исходники в UTF-8. Там каждая русская буква занимает 2 байта.
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++
В книге Страуструпа элементы вектора объявляются так vector&lt;int&gt; v = { 5 , 7 , 9 , 4 , 6 , 8 } ;В netbeans (linux ubuntu) ide выдаёт...

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

Ошибка при попытке инициализации входных параметров в конструкторе - C++
Доброго времени. При попытке инициализировать поле State макроопределением компилятор выдаёт ошибку. При инициализации константой всё...

Ошибка компиляции при инициализации статического члена в классе - C++
Chat ot const char* class Order : public MenuCategory{ protected: static const char category = '1: Замовити'; public: ...


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

Или воспользуйтесь поиском по форуму:
kokzahvas
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 65
10.08.2016, 04:59  [ТС]     Ошибка при инициализации строки #6
Цитата Сообщение от avgoor Посмотреть сообщение
kokzahvas, Среда какая, какая ОС?

У вас исходники в UTF-8. Там каждая русская буква занимает 2 байта.
Google Android, CppDroid и AIDE.
Yandex
Объявления
10.08.2016, 04:59     Ошибка при инициализации строки
Ответ Создать тему
Опции темы

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