Разбираю очередной пример из книги Шлее. Суть примера: создать заведомо проблемный код, и на нем научиться пользоваться отладчиком.
Создан проект типа консольное приложение, код следующий:
C++ (Qt)
#include <QtCore/QCoreApplication>
#include <stdio.h>
void bug()
{
int n = 3;
int* pn = &n;
delete pn;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bug();
return a.exec();
}
Программа компилится и запускается, но по тычку на кнопку закрыть справа наверху в консоль приложения выдается:
Запускается C:\qt_projects\Example_3.1\untitled1-build-desktop\debug\untitled1.exe...
C:\qt_projects\Example_3.1\untitled1-build-desktop\debug\untitled1.exe завершился с кодом -1073741510
Отличный от 0 код завершения меня беспокоит. Он не меняется даже если закомментировать "бажный" код.
Подозреваю, что это нормальная реакция, т.к нигде в приложении кнопка закрыть не связана с функцией return a.exec();
Таки можно ли корректно завершать консольное приложение и стоит ли оно того?