Артем
sprata
Mодератор
Завкаф
Карма: +40/-5
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
Пол:
Сообщений: 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
Пол: Награды:
Сообщений: 1713
♪♪ ♫ ♪♪ ♫ ♪♪ ♫ ♪♪
|
|
« Ответ #22 : Апрель 21, 2008, 07:16:32 » |
|
Sochin +1. Его ответ более всего удовлетворяет условию задачи.
|
|
|
Записан
|
♪♪ ♫ LET FOREVER BE ♫ ♪♪ ♫ ♪♪ ♪♪ ♫
|
|
|
Артем
sprata
Mодератор
Завкаф
Карма: +40/-5
Offline
Пол:
Сообщений: 1107
|
|
« Ответ #23 : Май 01, 2008, 11:27:58 » |
|
С таким кодом вываливается даже 3.11-ый class A { A(int a=1); friend void b() { } };
|
|
|
Записан
|
|
|
|
LazarusLong
Ирландский доброволец
Проректор
Карма: +181/-7
Offline
Пол: Награды:
Сообщений: 6134
Ukrainian by birth, Irish by the grace of God
|
|
« Ответ #24 : Май 01, 2008, 12:27:46 » |
|
artem90, Билдер и BC 3.11 нормально скомпилировали и запустили этот код. Если же пытаться объявить объект этого класса, то вполне прогнозируемо программа не компилируется (невозможно вызвать приватный конструктор). Но ошибка компиляции и ошибка времени выплонения - это разные вещи
|
|
|
Записан
|
Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.
"...Он любил говорить факин щит Когда что-то не так ему Принимал он свой самый ирландский вид И кидался трубкой в жену..."
|
|
|
Артем
sprata
Mодератор
Завкаф
Карма: +40/-5
Offline
Пол:
Сообщений: 1107
|
|
« Ответ #25 : Май 01, 2008, 03:22:10 » |
|
Билдер и BC 3.11 нормально скомпилировали и запустили этот код. Если же пытаться объявить объект этого класса, то вполне прогнозируемо программа не компилируется (невозможно вызвать приватный конструктор) У меня BC 3.11 под Windows при попытке скопилировать и запустить эту программу выдает сообщение об ошибке, с одной лишь кнопкой "Закрыть", по нажатию на которую компилятор закрывается. А 3.11 под DOS при попытке скомпилить или запустить этот код просто выкидывает в Windows. И это уже ошибка на этапе выполнения, а ошибки компиляции у меня никакой нет.
|
|
|
Записан
|
|
|
|
LazarusLong
Ирландский доброволец
Проректор
Карма: +181/-7
Offline
Пол: Награды:
Сообщений: 6134
Ukrainian by birth, Irish by the grace of God
|
|
« Ответ #26 : Май 01, 2008, 03:55:46 » |
|
Ну и все равно:) Ничего криминального в объявлении такого класса нет. Ну ясно что объявление в приватной части класса конструктора по умолчанию и дружественной функции по меньшей мере странно но не смертельно. У тебя прсто функции main() нет. Допиши её и все будет нормально запускаться. Сам по себе такой код не смертелен. Билдер, к примеру, говорит при попытке собрать такой код: Linker error: unresolved external main и программа просто не запускается
|
|
|
Записан
|
Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.
"...Он любил говорить факин щит Когда что-то не так ему Принимал он свой самый ирландский вид И кидался трубкой в жену..."
|
|
|
Артем
sprata
Mодератор
Завкаф
Карма: +40/-5
Offline
Пол:
Сообщений: 1107
|
|
« Ответ #27 : Май 01, 2008, 07:47:54 » |
|
У тебя прсто функции main() нет. Допиши её и все будет нормально запускаться. Хоть с меином, хоть без меина, хоть в ДОСе, хоть в Винде, но этот код 3.11-ый не запустит нигде !!!
|
|
|
Записан
|
|
|
|
LazarusLong
Ирландский доброволец
Проректор
Карма: +181/-7
Offline
Пол: Награды:
Сообщений: 6134
Ukrainian by birth, Irish by the grace of God
|
|
« Ответ #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
Пол:
Сообщений: 1107
|
|
« Ответ #29 : Май 01, 2008, 08:37:53 » |
|
С++Builder этот код запускает. И TC 3.11 тоже. ВизуалСтудии под рукой сейчас нет, но, думаю она тоже запустит. Ну значит это просто глюк Борланда
|
|
|
Записан
|
|
|
|
|