Рейтинг:
0
Jochen Arndt
Проходить NULL
вместо пустой строки. Причина, по которой вы получили это предупреждение (это предупреждение, а не ошибка), заключается в том, что вы передаете строковый литерал, который является const
по определению но параметр функции не является const (char *
).
Заметьте также, что initgraph()
а остальные графические функции принадлежали древним компиляторам Turbo-C/C++ для MS-DOS. Используя их в настоящее время через WinBGIm это не лучший выбор для изучения графического программирования.
Member 13922884
Спасибо. Но это тоже не работает. Должен ли я снова внести все изменения?
Jochen Arndt
Пожалуйста, дайте определение термину "не работает".
Какие-нибудь ошибки компилятора или компоновщика?
Если во время выполнения ничего не происходит, добавьте проверки ошибок в свой код, проверяя значение gd и/или используя graphresult.
Но опять же:
Это древний интерфейс, разработанный для MS-DOS. Подумайте об использовании других интерфейсов вместо того, чтобы тратить время на его изучение и запуск в оболочке последних операционных систем.
Member 13922884
То же предупреждение, что и раньше.
Jochen Arndt
Это предупреждение, а не ошибка. Если нет возможности рассматривать предупреждения как ошибки, следует создать исполняемый файл.
Однако этого не должно происходить при использовании
initgraph(&gd,&gm,NULL);
В зависимости от компилятора вы также должны получить еще одно предупреждение о том, что main() не возвращает значение.
Member 13922884
Сейчас он не дает предупреждения. Но я не получаю вывод и не получаю ошибку времени выполнения.
"Visual Studio Just-In-Time Debugger
Необработанное исключение win32 произошло в Test1.exe [3992].
Своевременная отладка этого исключения завершилась со следующей ошибкой:
Не установлен отладчик в режиме отладки. В Визуальном Плане
Инструменты/Параметры/Отладка/Точно В Срок.
Проверьте индекс документации на наличие "Just-in-time debugging, errors" для
подробная информация."
Jochen Arndt
Изменили ли вы тем временем свой код, чтобы проверить, не сообщают ли вызываемые функции об ошибках?
Но опять же: этот графический интерфейс является древним и был принят проектом WinBGIm. Выполнение этого бега может потребовать некоторой дополнительной работы, которая далеко выходит за рамки начинающих.
Возможно, даже невозможно использовать его в последних версиях Windows из-за измененной оболочки. Обратите внимание, что даже проект WinBGIm датируется 2005 годом, а графический интерфейс берет свое начало с 1980-х годов.
Кстати: вы скопировали файлы драйвера в каталог вашего исполняемого файла?
Если нет, то initgraph() терпит неудачу, которую можно обнаружить, проверив успех с помощью переменных gm и gd и graphresult.
Member 13922884
Я не внес никаких изменений в программу, кроме добавления NULL в initgraph().
Я также добавил путь к папке include в опцию "поиск каталогов" в опции сборки проекта.
Я понимаю, что Винбгим довольно стар. Поскольку я новичок в программировании, я нашел это только в интернете, поэтому начал работать над этим.
Jochen Arndt
Таким образом, initgraph (), возможно, потерпел неудачу, и вы не проверили его в своем коде. В результате поведение вашего запущенного приложения не определено, что обычно приводит к сбою приложения или завершению работы с нарушением доступа, как в вашем случае.
Когда функции предоставляют какой-то статус / ошибку, проверьте это в своем коде!
Прочтите документацию по этой функции. Он объясняет, как проверить наличие ошибок и что означают различные коды ошибок. Это также объясняет, что вы должны поместить файлы драйверов в каталог исполняемой программы при передаче пустого или нулевого пути.
Но опять же: возможно, его даже невозможно использовать с последними версиями ОС.
Member 13922884
должен ли я скачать Dev c++. Есть ли какие-либо проблемы с этой IDE?
Jochen Arndt
Интегрированная среда разработки, не связанные каким-либо образом свои проблемы.
Это связано с использованием библиотеки, которая может не работать на вашей платформе, не проверяя, сообщают ли вызываемые функции об ошибках, и, вероятно (вы не подтвердили это), не имея файлов драйверов BGI в каталоге вашего исполняемого файла.
Вы читали документацию?
Вот оно: https://www.cs.colorado.edu/~main/bgi/doc/initgraph.html
Он содержит пример кода, который включает в себя проверку ошибок.
Member 13922884
Спасибо. Это был только библиотечный вопрос. Теперь все решено. Спасибо снова.