![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
Всем привет!
Тренируюсь над перегрузкой операций в классах. Все работает, однако если main объявлен как void, ошибки нет, когда int вылетает ошибка. Ставлю точку останова, показывает что срабатывании return происходит ошибка. Посмотрите, пжлста. Код:
Текст ошибки. Windows has triggered a breakpoint in Sun.exe. This may be due to a corruption of the heap, which indicates a bug in Sun.exe or any of the DLLs it has loaded. This may also be due to the user pressing F12 while Sun.exe has focus. The output window may have more diagnostic information.
Желание тысяча возможностей, нежелание - тысяча причин
Последний раз редактировалось Stilet; 02.05.2012 в 19:33. |
![]() |
![]() |
![]() |
#2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
Спасибо, но почему при void все нормально?
Желание тысяча возможностей, нежелание - тысяча причин
|
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Я механики Сишной не знаю, но думаю что return <значение> оставляет свой ответ в стеке, который ты повредил своими локальными переменными. void же ничего в стек не пишет (для ответа той проге что запустила твою), поэтому не затирает важную информацию, оставленную в этом месте стека прогой-загрузчиком (например это адресс возврата)
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
Странно, закомментировал конструктор копии, все нормально.
Конструктор копии: Код:
Сверяюсь с книгой, где аналогичный пример, все нормально, странно...
Желание тысяча возможностей, нежелание - тысяча причин
Последний раз редактировалось Stilet; 02.05.2012 в 20:42. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]() Код:
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
![]()
При успешной отработке программы main должна возвращать 0. Если функция main ничего не возвращает, то если все отработало, система все равно получит 0. Если вы пишете int main(), то нужно явно задать ей возврат нулевого значения.
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
![]()
Я говорю, что void будет работать, но при int нужно писать return 0.
|
![]() |
![]() |
![]() |
#10 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]()
Не будет
Не нужно
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка в qt: [debug/main.o] Error 1 | Etete | Qt и кроссплатформенное программирование С/С++ | 1 | 11.04.2012 21:36 |
Ошибка : expression syntax in function main | 7ple | Общие вопросы C/C++ | 12 | 09.10.2011 16:36 |
Ошибка`main' must return `int' | Hichigo | Общие вопросы C/C++ | 9 | 26.02.2011 15:33 |
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:9) | elpilasgsm | Помощь студентам | 4 | 18.01.2011 08:23 |
Ошибка Could not find the main class | own | Общие вопросы по Java, Java SE, Kotlin | 0 | 12.01.2011 10:00 |