КИТА unofficial
Май 21, 2024, 05:14:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   ПРАВИЛА Помощь WIKI PDA Войти Регистрация  


Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: Искусство программирования (задача 13)  (Прочитано 16119 раз)
Описание темы: Unhandled exception
0 Пользователей и 1 Гость смотрят эту тему.
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #20 : Апрель 17, 2008, 07:26:54 »

void main() {
char a[10000000L];
}

Stack overflow
А в BC 3.11 такое даже "строгий Улыбка" компилятор не пропускает:  "Array size too large"  Смеющийся

Записан
Sochin
Злой модератор
Декан
*****

Карма: +108/-6
Offline Offline

Пол: Мужской
Сообщений: 1518



« Ответ #21 : Апрель 18, 2008, 09:48:01 »

А вот Builder 6 не компилит этот код
Цитировать
[C++ Error] File1.cpp(2): E2120 Cannot call 'main' from within the program
Совершенно верно не компилит. Стандарт С++ запрещает вызов функции main() из программы. Любой компилятор С++, который это позволяет не то что не соответствует требованиям стандарта, но прямо их нарушает.
Записан

Говорят, когда компьютер сгорает, перед взором микропроцессора за долю секунды проносятся все операции, которые он когда-либо совершил...
壯鎭
vimmax
Модератор
Декан
*****

Карма: +42/-3
Offline Offline

Пол: Мужской
Награды:
лучшая гитара мира
Сообщений: 1713


♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪


« Ответ #22 : Апрель 21, 2008, 07:16:32 »

Sochin +1. Его ответ более всего удовлетворяет условию задачи.
Записан

♪♪ ♫  LET FOREVER BE  ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #23 : Май 01, 2008, 11:27:58 »

С таким кодом вываливается даже 3.11-ый  Смеющийся
Код: (cpp)
class A
  {
    A(int a=1);
    friend void b() { }
  };
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #24 : Май 01, 2008, 12:27:46 »

artem90, Билдер и BC 3.11 нормально скомпилировали и запустили этот код. Если же пытаться объявить объект этого класса, то вполне прогнозируемо программа не компилируется (невозможно вызвать приватный конструктор). Но ошибка компиляции и ошибка времени выплонения - это разные вещи Улыбка
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #25 : Май 01, 2008, 03:22:10 »

Билдер и BC 3.11 нормально скомпилировали и запустили этот код. Если же пытаться объявить объект этого класса, то вполне прогнозируемо программа не компилируется (невозможно вызвать приватный конструктор)

У меня BC 3.11 под Windows при попытке скопилировать и запустить эту программу выдает сообщение об ошибке, с одной лишь кнопкой "Закрыть", по нажатию на которую компилятор закрывается. А 3.11 под DOS при попытке скомпилить или запустить этот код просто выкидывает в Windows. И это уже ошибка на этапе выполнения, а ошибки компиляции у меня никакой нет.
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #26 : Май 01, 2008, 03:55:46 »

Ну и все равно:) Ничего криминального в объявлении такого класса нет. Ну ясно что объявление в приватной части класса конструктора по умолчанию и дружественной функции по меньшей мере странно но не смертельно. У тебя прсто функции main() нет. Допиши её и все будет нормально запускаться. Сам по себе такой код не смертелен. Билдер, к примеру, говорит при попытке собрать такой код: Linker error: unresolved external main и программа просто не запускается Улыбка
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #27 : Май 01, 2008, 07:47:54 »

У тебя прсто функции main() нет. Допиши её и все будет нормально запускаться.
Хоть с меином, хоть без меина, хоть в ДОСе, хоть в Винде, но этот код 3.11-ый не запустит нигде !!!  Улыбка
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #28 : Май 01, 2008, 08:25:36 »

artem90, С++Builder этот код запускает. И TC 3.11 тоже. ВизуалСтудии под рукой сейчас нет, но, думаю она тоже запустит.

(Отправлено в: 01 Мая 2008, 20:17:42)

А mingw просто не компилит этот код с ошибкой:)

ISO C++ forbids declaration of b with no type
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Артем
sprata
Mодератор
Завкаф
*****

Карма: +40/-5
Offline Offline

Пол: Мужской
Сообщений: 1107


« Ответ #29 : Май 01, 2008, 08:37:53 »

С++Builder этот код запускает. И TC 3.11 тоже. ВизуалСтудии под рукой сейчас нет, но, думаю она тоже запустит.
Ну значит это просто глюк Борланда Улыбка
Записан
Страниц: 1 [2]  Все   Вверх
  Печать  
 
Перейти в:  

Penguins Counter Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS! Internetmap
Страница сгенерирована за 0.062 секунд. Запросов: 33.