Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
1

Ошибки компиляции

30.11.2017, 18:47. Просмотров 262. Ответов 15
Метки нет (Все метки)

Иногда при незначительном изменении рабочей программы возникает куча ошибок (см. скриншот). Такое впечатление, что какая-то переменная затрагивает рабочую память. Я нашёл способ борьбы – изменение размера программы (*.ccp), например, добавлением /* */ . Ошибка проявляется под Windows и DOS
Может кто-то знает лучший способ избавиться от ошибки или сделать определённую настройку, что бы такая ошибка не возникала.
Кто-то может сказать, что лучше использовать wxDev-C++, но он также перестал поддерживаться и программа, работающая в Dev-C++, не работает в wxDev-C++ (и я не смог запустить; длинная программа под Windows, дополнительно есть описанная ошибка).
Dev-C++ - 5.8.0 (Настройки все по умолчанию кроме рабочего каталога), Windows 8.1
0
Миниатюры
Ошибки компиляции  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2017, 18:47
Ответы с готовыми решениями:

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class...

Ошибки компиляции
Доброго времени суток. Прошу проверить меня) Собственно задание: 3. Найдите...

Ошибки компиляции
Пожалуйсто,помогите! Очень надо #include <cmath> #include <cstdio> #include...

ошибки компиляции
недавно создавал тему но никто не помог(поиск юзал не помогло) когда я...

Ошибки в компиляции
Здравстуйте все. В процессе написания одной проги на с++ в dev-cpp натолкнулся...

15
Kuzia domovenok
2337 / 2079 / 487
Регистрация: 25.03.2012
Сообщений: 7,437
Записей в блоге: 1
30.11.2017, 18:51 2
там точка с запятой вместо запятой стоит
1
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
30.11.2017, 21:22  [ТС] 3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
там точка с запятой вместо запятой стоит
Исправил, в той строке теперь ошибки нет, но всё равно туча ошибок:-(
И выделяется, что szLng не декларирован, хотя он декларирован и определён.
0
Миниатюры
Ошибки компиляции   Ошибки компиляции  
Kuzia domovenok
2337 / 2079 / 487
Регистрация: 25.03.2012
Сообщений: 7,437
Записей в блоге: 1
30.11.2017, 21:34 4
sizeof(szLng) без скобок
1
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
30.11.2017, 23:44  [ТС] 5
Опять там же ошибка :-(
0
Миниатюры
Ошибки компиляции  
Kuzia domovenok
2337 / 2079 / 487
Регистрация: 25.03.2012
Сообщений: 7,437
Записей в блоге: 1
01.12.2017, 09:40 6
Pingvin001, вы сами этот бред писали? Лучше забросьте и не пытайтесь исправить. Если что-то нужно, напишите с нуля заново. Из г@вн@ котлетку не слепишь.
0
notAll
451 / 172 / 62
Регистрация: 27.05.2016
Сообщений: 458
Завершенные тесты: 2
01.12.2017, 12:12 7
Цитата Сообщение от Pingvin001 Посмотреть сообщение
Иногда при незначительном изменении рабочей программы возникает куча ошибок
Я иногда тоже что то в коде меняю и мне компилятор выдает кучу ошибок. /* */ не помагает. Что мне делать, помогите.

Не по теме:

табличка
сарказм


Цитата Сообщение от Pingvin001 Посмотреть сообщение
Может кто-то знает лучший способ избавиться от ошибки или сделать определённую настройку, что бы такая ошибка не возникала.
Не меняй код, если не понимаеш что он делает.
0
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
01.12.2017, 12:46  [ТС] 8
Kuzia domovenok, это вспомогательная функция, выявляющая моменты, если для какой-то строчной переменной выделено памяти меньше, чем она занимает.
Наверное, sizeof работает только в основном файле (у меня работала даже без скобок), по крайней мере в другом файле через extern char, переменная для sizeof не определяется.
Наверное, такую функцию нельзя описать не в основном файле.

Добавлено через 9 минут
Я собираюсь эту функцию включать во все программы.

Добавлено через 8 минут
В основном файле функция заработала.
0
Kuzia domovenok
2337 / 2079 / 487
Регистрация: 25.03.2012
Сообщений: 7,437
Записей в блоге: 1
01.12.2017, 12:49 9
Цитата Сообщение от Pingvin001 Посмотреть сообщение
Kuzia domovenok, это вспомогательная функция, выявляющая моменты, если для какой-то строчной переменной выделено памяти меньше, чем она занимает.
идея говно
0
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
02.12.2017, 21:59  [ТС] 10
Kuzia domovenok, Почеиу?
Если у меня чаше всего зависание происходит если строчная переменная требует больше места, чем ей отведено.
0
Kuzia domovenok
2337 / 2079 / 487
Регистрация: 25.03.2012
Сообщений: 7,437
Записей в блоге: 1
02.12.2017, 22:14 11
Ты сам себя со стороны послушай! Если ты записал в строковую переменную больше символов чем выделено, значит уже поздно что-то отслеживать и исправлять! У тебя уже программа рано или поздно упадёт. Проверять размер буфера надо дооо попытки копирования! Это раз.
Два - сайзоф вам никогда в общем случае не скажет истинный размер буфера! Только если непосредственно в этой функции где происходит проверка этот массив и будет статически явно объявлен типа char str [20], сайзоф увидит эту двадцатку, но в таком случае размер изначально очевиден и проверка не нужна.

На char* str =“woollo” результат sizeof (str) будет равен размеру указателя 4 байта(win32) а не размеру строки.
0
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
02.12.2017, 22:46  [ТС] 12
А если много переменных и несколько языков?
Я сравнивал: if (sizeof (Имя_переменной) < strlen(Имя_переменной)) {...
И иногда условие выполнялось, и надо было увеличивать число в квадратных скобках.
0
Kuzia domovenok
2337 / 2079 / 487
Регистрация: 25.03.2012
Сообщений: 7,437
Записей в блоге: 1
02.12.2017, 23:07 13
Это условие выполнялось для всех строк длиннее 4 букв
0
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
03.12.2017, 10:57  [ТС] 14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
На char* str =“woollo” результат sizeof (str) будет равен размеру указателя 4 байта(win32) а не размеру строки.
Я считаю так нельзя писать. Если строка залезет на систему, то программа перестанет работать. Или я не прав?
0
spvert
174 / 82 / 31
Регистрация: 25.11.2017
Сообщений: 294
Завершенные тесты: 1
03.12.2017, 11:15 15
1. Кто сказал что szLng, объявленный в одном файле, будет виден в другом? Из картинок сие не видно.
2. Либо кто-то очень нехороший учил вас писать без отступов, либо вы где-то неудачный код подрезали. Совершенно нечитаемо.
0
Pingvin001
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 132
03.12.2017, 13:20  [ТС] 16
Цитата Сообщение от spvert Посмотреть сообщение
1. Кто сказал что szLng, объявленный в одном файле, будет виден в другом?
Эта переменная объявлена и определена в основном файле, а в других файлах есть extern.
Но для sizeof extern не помогает и использовать её в другом файле не получается :-( = перенёс функцию в основной файл, теперь работает.
Цитата Сообщение от spvert Посмотреть сообщение
2. Либо кто-то очень нехороший учил вас писать без отступов, либо вы где-то неудачный код подрезали. Совершенно нечитаемо.
Я обычно правлю в notepad++, отступы есть почти все, а длинные строки переносятся и по этому их видно все. Но раз тут помещаю скриншот, то в видимой части надо делать переносы, и отступы нормальные.
0
Миниатюры
Ошибки компиляции  
03.12.2017, 13:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2017, 13:20

Ошибки при компиляции
Есть программа: #include &lt;stdio.h&gt; #include &lt;io.h&gt; #include &lt;iostream.h&gt; ...

ошибки в ходе компиляции
Народ,пытаюсь скомпилировать код,но Visual Studio выдает ошибки. Помогите! Что...

Ошибки при компиляции
Помогите пожалуйста исправить ошибки которые в программе при компиляции...


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

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

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