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

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

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

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

09.08.2016, 12:00. Просмотров 152. Ответов 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++ Непонятная ошибка при инициализации дин. массива
Ошибка при инициализации статистической переменной. C++
C++ Ошибка при инициализации элемента класса
C++ Ошибка при инициализации массива
C++ Ошибка при инициализации массива
C++ Ошибка нарушения прав доступа при чтении по адресу, возникающая при инициализации трехмерного массива
C++ Почему при инициализации строки, сначала создаётся пустой объект?
Ошибка при инициализации C++
C++ Синтаксическая ошибка при инициализации класса
Ошибка компиляции при инициализации статического члена в классе C++
Ошибка при инициализации вектора списком C++
Ошибка при инициализации массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6111 / 5714 / 1849
Регистрация: 18.12.2011
Сообщений: 14,593
Завершенные тесты: 1
09.08.2016, 12:10     Ошибка при инициализации строки #2
1.
str2[12]
У меня ошибки нет.
в строке 11 символов + терминальный ноль итого - 12. Если поменять на str2[11], То будет ошибка
2.
warning C4245: инициализация: преобразование 'char' в 'unsigned char', несоответствие типов со знаком и без
Это всего лишь предупреждение, что беззнаковым элементам массива присваиваются значения знаковых констант.
Байт
Эксперт C
 Аватар для Байт
15033 / 9435 / 1379
Регистрация: 24.12.2010
Сообщений: 17,445
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
 Аватар для avgoor
776 / 418 / 91
Регистрация: 05.12.2015
Сообщений: 1,259
09.08.2016, 13:16     Ошибка при инициализации строки #5
kokzahvas, Среда какая, какая ОС?

У вас исходники в UTF-8. Там каждая русская буква занимает 2 байта.
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     Ошибка при инициализации строки
Ответ Создать тему
Опции темы

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