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

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

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

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

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

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

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

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

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

Не по теме:

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


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

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

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

На char* str =“woollo” результат sizeof (str) будет равен размеру указателя 4 байта(win32) а не размеру строки.
0
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 137
02.12.2017, 22:46  [ТС] 12
А если много переменных и несколько языков?
Я сравнивал: if (sizeof (Имя_переменной) < strlen(Имя_переменной)) {...
И иногда условие выполнялось, и надо было увеличивать число в квадратных скобках.
0
3284 / 2668 / 721
Регистрация: 25.03.2012
Сообщений: 9,623
Записей в блоге: 1
02.12.2017, 23:07 13
Это условие выполнялось для всех строк длиннее 4 букв
0
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 137
03.12.2017, 10:57  [ТС] 14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
На char* str =“woollo” результат sizeof (str) будет равен размеру указателя 4 байта(win32) а не размеру строки.
Я считаю так нельзя писать. Если строка залезет на систему, то программа перестанет работать. Или я не прав?
0
224 / 107 / 34
Регистрация: 25.11.2017
Сообщений: 380
03.12.2017, 11:15 15
1. Кто сказал что szLng, объявленный в одном файле, будет виден в другом? Из картинок сие не видно.
2. Либо кто-то очень нехороший учил вас писать без отступов, либо вы где-то неудачный код подрезали. Совершенно нечитаемо.
0
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 137
03.12.2017, 13:20  [ТС] 16
Цитата Сообщение от spvert Посмотреть сообщение
1. Кто сказал что szLng, объявленный в одном файле, будет виден в другом?
Эта переменная объявлена и определена в основном файле, а в других файлах есть extern.
Но для sizeof extern не помогает и использовать её в другом файле не получается :-( = перенёс функцию в основной файл, теперь работает.
Цитата Сообщение от spvert Посмотреть сообщение
2. Либо кто-то очень нехороший учил вас писать без отступов, либо вы где-то неудачный код подрезали. Совершенно нечитаемо.
Я обычно правлю в notepad++, отступы есть почти все, а длинные строки переносятся и по этому их видно все. Но раз тут помещаю скриншот, то в видимой части надо делать переносы, и отступы нормальные.
0
Миниатюры
Ошибки компиляции  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2017, 13:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибки компиляции
Я начинающий программист. Не знаю почему компилятор ругается, объясните. В 20 строке: &quot;=: левый...

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

Непонятные ошибки компиляции
rectangle.h: #ifndef RECTANGLE_H #define RECTANGLE_H #include &lt;string&gt; using namespace std; ...

Ошибки при компиляции
Функция принимает текстовую функцию и значение переменной и решает ее. long double func(string...


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

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

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