|
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
|
||||||
Ошибки компиляции примера из учебника Lafore15.06.2021, 16:12. Показов 3178. Ответов 15
Метки нет (Все метки)
Перенёс решённую в учебнике задачу в компилятор, он мне выдаёт ошибки. И уже не в первый раз. Жалко бросать этот учебник(Lafore), но как учиться по нему дальше?
1)Есть ли достойный современный учебник для начинающих? 2) Что изменилось в программировании, почему выдаёт ошибку? Ошибки были в 46-48 строках. В 46 - нельзя присвоить массиву char константное значение (сейчас, почему-то не выдаёт ошибки). В 47-48 - нет подходящего конструктора. Быть может, strcpy(str, s) не работает, какую-нибудь чёрточку добавили? Вот эта программа:
0
|
||||||
| 15.06.2021, 16:12 | |
|
Ответы с готовыми решениями:
15
Ошибка при компиляции примера Ошибка при компиляции примера библиотеки libcli |
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|||||||||||
| 15.06.2021, 17:16 | |||||||||||
|
Walex, 1) добавьте в начало
_s)1) строковые литералы передаются, как const char *, а не char *. Конструктор для const... отсутствует, вот и ругается. Сделайте, например, так:
1
|
|||||||||||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 15.06.2021, 17:27 | |
|
1
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 15.06.2021, 18:23 | |
Сообщение было отмечено Walex как решение
Решение
0
|
|
|
Модератор
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
|
||||||
| 15.06.2021, 18:29 | ||||||
|
Этот пример в VS2008 компилируется без ошибок.
в VS2017 нужны исправления связанные с более строгой типизацией.
1
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
|
|
| 17.06.2021, 08:42 [ТС] | |
|
Действительно, как только добавил "const", эта ошибка пропала, но возникла новая: 'strcpy' - c4996. Компилятор, как я понимаю, пишет, что функция устарела.
Добавлено через 8 минут const - помогло, спасибо, добавление директивы#define _CRT_SECURE_NO_WARNINGS видимого эффекта не произвело. Пишет, что strcpy & strcat - устарели.
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 17.06.2021, 08:44 | |
Сообщение было отмечено Walex как решение
Решение
Walex, добавлять это надо до всех #include
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
|
|
| 17.06.2021, 09:07 [ТС] | |
|
Заработало, спасибо! Но, чтобы я мог этим пользоваться, Вы можете объяснить, что я этим достиг?
2) Действительно ли устарели команды strcpy & strcat? Добавлено через 9 минут Visual C++: используем _CRT_SECURE_NO_WARNINGS для совместимости с классическими функциями
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 17.06.2021, 09:09 | |
Сообщение было отмечено ПерС как решение
Решение
Walex, нет, не устарели. Это собственная политика MS.
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
|
||||||
| 17.06.2021, 10:37 [ТС] | ||||||
|
Мне необходимо в этой же программе с помощью перегруженной операции "++" изменить буквы в строке на заглавные. Я написал:
String s1 = "\nС Рождеством! "; ++s1;
0
|
||||||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|||||||||||
| 17.06.2021, 11:17 | |||||||||||
|
Walex, функция
toupper() работает только с английскими буковками ![]() Добавлено через 6 минут Замените на
main() русскую локаль:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
|
|
| 17.06.2021, 14:12 [ТС] | |
|
Огромное спасибо! Всё работает! Я-то, как юзер, в первую очередь считаю, что это я ошибся! Такие нюансы, разумеется, с первых шагов ни узнать, ни запомнить невозможно! После ваших советов перестаёшь биться головой об стол. Ведь, вроде всё правильно, всё логично, а не работает!
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 17.06.2021, 14:14 | |
|
Walex,
Во-первых toupper работает с локальными кодировками, но только если выставить правильную локаль. То есть будет тоже самое, если только поставить setlocale ![]() Во-вторых, если нужно параметризовать локаль, есть же std::toupper вместо нестандартной _toupper_l.
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
|
|
| 17.06.2021, 14:23 [ТС] | |
|
функцию toupper я вставил по рекомендации из учебника Lafore. Там же был и русский текст. Но ничего про локальные кодировки. Учебник, в самом деле, великолепный. Но он регулярно ставит задачи, для решения которых он только намекнул на средства их решения. По принципу "Спасение утопающих..." Возможно, таков стиль обучения. Но без советов опытных программистов - трудно двигаться дальше.
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||||||
| 17.06.2021, 14:28 | ||||||
https://man7.org/linux/man-pag... per.3.html
Так что стиль обучения тут не при чем, это издержки посредственных русских переводов.
1
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2021
Сообщений: 174
|
|
| 17.06.2021, 14:54 [ТС] | |
|
Должен был сам догадаться! Но, в условиях, когда пытаешься запихнуть в голову массу новых терминов, та вопиёт: "Спасите, убивают!"
Ещё раз, спасибо!
0
|
|
| 17.06.2021, 14:54 | |
|
Помогаю со студенческими работами здесь
16
Ошибка компиляции примера SFML + OpenGL в MinGW списал с учебника-выдает ошибки Пример с учебника выдаёт ошибки Пример с учебника выдаёт ошибки перепечатал с учебника-выдает ошибки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|