|
21 / 21 / 0
Регистрация: 28.02.2014
Сообщений: 138
|
||||||||||||||||
Использование указателя AP в main.cpp крашит приложение02.09.2014, 16:38. Показов 2951. Ответов 33
Метки нет (Все метки)
Если переношу определение конструктора класа в main.cpp AP - пашет. Причём AP пашет и в System.cpp где уже соответственно отсутствует определение конструктора класа. Ваще магия.
0
|
||||||||||||||||
| 02.09.2014, 16:38 | |
|
Ответы с готовыми решениями:
33
Main.cpp: In function ‘int main()’: main.cpp:10:1: error: ‘then’ was not declared in this scope Main.cpp In file included from main.cpp Есть три файла. файл main.cpp и Source.cpp знают только Header.h, так как он подключен. как же подключается Source.cpp |
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 02.09.2014, 21:29 | |||
Эту функцию надо где-то зарегистрировать, чтобы она начала вызываться. В твоем коде никакой регистрации я не вижу. Просто объявить ее недостаточно.
0
|
|||
|
21 / 21 / 0
Регистрация: 28.02.2014
Сообщений: 138
|
||||||
| 02.09.2014, 21:30 [ТС] | ||||||
|
Точнее идет сообщение о нажатии Esc а потом разрушение окна.
Вот регистрация
0
|
||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 02.09.2014, 21:31 | |
|
TierX, или ты опять сбросил неполный код.
0
|
|
|
21 / 21 / 0
Регистрация: 28.02.2014
Сообщений: 138
|
|||||||
| 02.09.2014, 21:40 [ТС] | |||||||
|
[cut]
блин чото ссылка на картинку не хочет поститься
0
|
|||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||
| 02.09.2014, 21:44 | |||||||
Сообщение было отмечено TierX как решение
РешениеОкей, новые вводные. Функция вызывается. Идем дальше. Глобальные статические переменные всегда инициализируются нулем по умолчанию. В С++ вот такая запись:
В общем, чтобы получить падение, просто обратись из MSG_Proc к каким-либо данным класса. Чистой воды UB.
1
|
|||||||
|
21 / 21 / 0
Регистрация: 28.02.2014
Сообщений: 138
|
|
| 02.09.2014, 21:57 [ТС] | |
|
DrOffset, Ага лягло. А как мне правильно глянуть адреса одновременно в разных частях кода тогда? потому что так видимо не правильно...
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 02.09.2014, 22:01 | ||
|
1
|
||
|
21 / 21 / 0
Регистрация: 28.02.2014
Сообщений: 138
|
|
| 02.09.2014, 22:17 [ТС] | |
|
ща попробую консоль подключить
Добавлено через 15 минут Да адреса разные. Теперь уже сходиться с реальностью все. Но эта проблема как оказалось не в обычном статик итд а в этом : Код C++ 1 ((SomeClass*)0)->someMethod(); Уж почему так происходит я не прошу пояснять. Потому что, я не понимаю , что тут даже написано . Разыменованый Нуль как указатель на клас ? Но в принципе по своему примеру какуето логику уже наблюдаю...Короче я напоролся на какойто странный случай. + Я еще лашпед не умею смотреть адреса в студии.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||||
| 02.09.2014, 22:25 | |||||||||
![]() И убери ради бога все статик перед функциями и классами, иной компилятор такое вообще не обязан компилировать. Хочешь вот так напиши:
1
|
|||||||||
|
21 / 21 / 0
Регистрация: 28.02.2014
Сообщений: 138
|
|
| 03.09.2014, 01:21 [ТС] | |
|
так я вот и разбираюсь)
Добавлено через 7 минут Пост я читал и в принципе я знал об этом .Збило с толку то , что это работало при вынесении конструктора. При этом адреса свопадали (хотя как я уже говорил просто я не правильно их выявлял ). Поэтому я говорю что для меня тут больше это роль сыграло. Код со статиками не мой а взятый с растертека . Я думаюю он использовал статики для того чтоб эти функции работали только в одном файле.
0
|
|
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|||||||||||||||||
| 03.09.2014, 14:52 | |||||||||||||||||
|
TierX, что будет на экране в след. примере? Что изменится, если определение construct() перенести в main.cpp? head.h
Кликните здесь для просмотра всего текста
test.cpp Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 03.09.2014, 14:59 | |
|
Alex5, я извиняюсь, что влезаю, но проблему мы уже разобрали. Посмотри предыдущие ответы. У него все работало стандартно, было две переменные вкаждой единице трансляции, при переносе конструктора, переменная (указатель) в main.cpp работала штатно, а указатель, в system.cpp равнялся нулю, но из-за того, что вызывался метод класса, который вообще не обращается ни к каким данным класса, фактического разыменования нуля не происходило, и программа не падала. Т.е. это была лишь иллюзия работы.
0
|
|
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|||||||||||
| 03.09.2014, 15:53 | |||||||||||
|
DrOffset, я читал предыдущие ответы. Код, приведённый в моём ответе - иллюстрация к обсуждению.
0
|
|||||||||||
| 03.09.2014, 16:07 | ||
|
Не по теме:
0
|
||
| 03.09.2014, 16:07 | |
|
Как передать переменные и массивы из main.cpp в mainwindow.cpp? Включение библиотек в main.cpp и my_func.cpp Подключение файлов main.cpp some.cpp some.h Вот: source_file.cpp: In function 'int main()': source_file.cpp:10:12: error: 'strlen' was not declared in this scope DownloadString крашит приложение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|