Форум программистов, компьютерный форум CyberForum.ru

Товарищи, мне уже надоела запись "void main()" - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 66, средняя оценка - 4.95
Spo1ler
 Аватар для Spo1ler
291 / 51 / 3
Регистрация: 22.05.2008
Сообщений: 788
08.12.2008, 22:23     Товарищи, мне уже надоела запись "void main()" #1
http://www.research.att.com/~bs/bs_faq2.html#void-main
Прочитайте пожалуйста. Может усвоите для себя что-либо. И перестанете наконец писать "void main()"
Для тех, кому лень идти по ссылке вот копипаст под катом
Can I write "void main()"?
Can I write "void main()"?

The definition void main() { /* ... */ }
is not and never has been C++, nor has it even been C. See the ISO C++ standard 3.6.1[2] or the ISO C standard 5.1.2.2.1. A conforming implementation accepts int main() { /* ... */ }
and int main(int argc, char* argv[]) { /* ... */ }
A conforming implementation may provide more versions of main(), but they must all have return type int. The int returned by main() is a way for a program to return a value to "the system" that invokes it. On systems that doesn't provide such a facility the return value is ignored, but that doesn't make "void main()" legal C++ or legal C. Even if your compiler accepts "void main()" avoid it, or risk being considered ignorant by C and C++ programmers. In C++, main() need not contain an explicit return statement. In that case, the value returned is 0, meaning successful execution. For example:
#include<iostream>

int main()
{
std::cout << "This program returns the integer value 0\n";
}
Note also that neither ISO C++ nor C99 allows you to leave the type out of a declaration. That is, in contrast to C89 and ARM C++ ,"int" is not assumed where a type is missing in a declaration. Consequently: #include<iostream>

main() { /* ... */ }
is an error because the return type of main() is missing.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2008, 22:23     Товарищи, мне уже надоела запись "void main()"
Посмотрите здесь:

возвращаемый тип "main" должен быть "int", а не C++
C++ если не составит труда(при вводе "n" должно создаваться предложение "Мне n год (года)")
Ошибка компиляции: error C2562: main: функция типа "void" C++
C++ В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
не получается передать массив из "void Vvod" в "void CalculatingEstimates" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
09.12.2008, 10:20     Товарищи, мне уже надоела запись "void main()" #2
Ну, что ж ты хочешь? Как их учат в институте, так они и пишут.... Преподы ведь пишут так - и студентов тому же учат.
Роман_
3 / 3 / 0
Регистрация: 23.11.2008
Сообщений: 23
09.12.2008, 12:42     Товарищи, мне уже надоела запись "void main()" #3
Спасибо теперь будем знать . не нам реально так объясняют в инсте что поделаешь...
ROBOT
 Аватар для ROBOT
0 / 0 / 0
Регистрация: 25.11.2008
Сообщений: 33
09.12.2008, 15:14     Товарищи, мне уже надоела запись "void main()" #4
я никогда так не писал
OkunevDen
0 / 0 / 0
Регистрация: 31.05.2013
Сообщений: 4
10.10.2013, 15:58     Товарищи, мне уже надоела запись "void main()" #5
А можно такой вопрос: В чём различие между "int main()" или "void main()"?
Я всегда писал "int main()", но вот сегодня ради интереса взял в библиотеке своего колледжа учебник по программированию на языке С++... Читал читал... И везде этот треклятый "void main(void)"...
Я, если честно, в полнейшем замешательстве...
Пытался заменить "свой" "int main()" на это "чудо", но компилятор ошибку выдаёт...
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.10.2013, 16:03     Товарищи, мне уже надоела запись "void main()" #6
OkunevDen, void main() это нестандартно. Программа должна возвращать код завершения в операционную систему. В С++ если нету return в функции main неявно возвращается 0.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
10.10.2013, 16:04     Товарищи, мне уже надоела запись "void main()" #7
Любая программа должна возвращать код ошибки, или 0 если ошибок не было.
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
10.10.2013, 16:09     Товарищи, мне уже надоела запись "void main()" #8
да да конечно все студенты, которые заходят сюда за решениями, так сразу взяли и прочитали вашу тему тем более по английски.
они свои то темы с трудом читают
Блондинка с ОЗМ
Заблокирован
10.10.2013, 16:12     Товарищи, мне уже надоела запись "void main()" #9
1. Ну, переходите на Visual Studio-2010 и выше. Она сама пишет как надо.
2. А почему нас должно волновать, надоело вам или нет? Нам надо, чтоб работало. Работает. А эмоции незнакомого мужика нам неинтересны.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
10.10.2013, 16:12     Товарищи, мне уже надоела запись "void main()" #10

Не по теме:

XRuZzz, будьте поуважительнее к мертвецам.



Цитата Сообщение от ForEveR Посмотреть сообщение
void main() это нестандартно
А зачем ее продолжают поддерживать?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.10.2013, 16:17     Товарищи, мне уже надоела запись "void main()" #11
SatanaXIII, gcc не поддерживает. clang не поддерживает. Остальные не знаю.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
10.10.2013, 16:19     Товарищи, мне уже надоела запись "void main()" #12
ForEveR, перефразирую - зачем ее тогда вообще вводили?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
10.10.2013, 16:24     Товарищи, мне уже надоела запись "void main()" #13
Давным-давно дело было.... Еще со времен Си (без плюсов) Кернигана и Ричи тянется этот хвост. А поддерживают пока еще - для обратной совместимости. Чтобы можно было компилировать код, написанный еще при царе Горохе :-)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.10.2013, 16:26     Товарищи, мне уже надоела запись "void main()" #14
SatanaXIII, Можно тут почитать например: http://stackoverflow.com/questions/5...296593#5296593
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
10.10.2013, 16:30     Товарищи, мне уже надоела запись "void main()" #15
CheshireCat, но некроцитата утверждает, что и в си без плюсов не было.

ForEveR, пойду читать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 16:40     Товарищи, мне уже надоела запись "void main()"
Еще ссылки по теме:

C++ Ошибка при компиляции In function"int main()"; expected ';', before "cin", [Build Error] [main.o] Error 1
C++ LNK2019: ссылка на неразрешенный внешний символ "void __cdecl run(void)" (?run@@YAXXZ) в функции _wmain
Error C2440: =: невозможно преобразовать "void *" в "Node *" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
OkunevDen
0 / 0 / 0
Регистрация: 31.05.2013
Сообщений: 4
10.10.2013, 16:40     Товарищи, мне уже надоела запись "void main()" #16
Хе хе... Вот я и взял сегодня учебник 2001 года... Там и написано Си...
Yandex
Объявления
10.10.2013, 16:40     Товарищи, мне уже надоела запись "void main()"
Ответ Создать тему
Опции темы

Текущее время: 09:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru