295 / 55 / 5
Регистрация: 22.05.2008
Сообщений: 788
1

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

08.12.2008, 22:23. Показов 10799. Ответов 15
Метки нет (Все метки)

http://www.research.att.com/~b... #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.
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2008, 22:23
Ответы с готовыми решениями:

Error C2084: функция "void mehanizm:print(void)" уже имеет текст реализации
Добрый день, я столкнулся с проблемой вывода элемента на экран, выбивает: &quot;error C2084: функция...

Исправить ошибку "C2562: 'main': 'void' function returning a value"
Привет программистам. Не могу разобраться с ошибкой &quot;C2562: 'main': 'void' function returning a...

Ошибка компиляции: error C2562: main: функция типа "void"
Возникла проблема, при компиляции выдает ошибку &quot;1&gt;c:\users\user\documents\visual studio...

Тип "Main" уже определяет член с именем "Main" с теми же типами параметров
Имеются два partial класса: public partial class Main : DataContext { public Main(string...

15
Эксперт С++
2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
09.12.2008, 10:20 2
Ну, что ж ты хочешь? Как их учат в институте, так они и пишут.... Преподы ведь пишут так - и студентов тому же учат.
0
3 / 3 / 0
Регистрация: 23.11.2008
Сообщений: 23
09.12.2008, 12:42 3
Спасибо теперь будем знать . не нам реально так объясняют в инсте что поделаешь...
0
0 / 0 / 0
Регистрация: 25.11.2008
Сообщений: 35
09.12.2008, 15:14 4
я никогда так не писал
0
0 / 0 / 0
Регистрация: 31.05.2013
Сообщений: 4
10.10.2013, 15:58 5
А можно такой вопрос: В чём различие между "int main()" или "void main()"?
Я всегда писал "int main()", но вот сегодня ради интереса взял в библиотеке своего колледжа учебник по программированию на языке С++... Читал читал... И везде этот треклятый "void main(void)"...
Я, если честно, в полнейшем замешательстве...
Пытался заменить "свой" "int main()" на это "чудо", но компилятор ошибку выдаёт...
0
В астрале
Эксперт С++
8042 / 4799 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
10.10.2013, 16:03 6
OkunevDen, void main() это нестандартно. Программа должна возвращать код завершения в операционную систему. В С++ если нету return в функции main неявно возвращается 0.
0
Эксперт С++
4978 / 3085 / 456
Регистрация: 10.11.2010
Сообщений: 11,164
Записей в блоге: 10
10.10.2013, 16:04 7
Любая программа должна возвращать код ошибки, или 0 если ошибок не было.
0
Антикодер
1876 / 854 / 48
Регистрация: 15.09.2012
Сообщений: 3,011
10.10.2013, 16:09 8
да да конечно все студенты, которые заходят сюда за решениями, так сразу взяли и прочитали вашу тему тем более по английски.
они свои то темы с трудом читают
0
Заблокирован
10.10.2013, 16:12 9
1. Ну, переходите на Visual Studio-2010 и выше. Она сама пишет как надо.
2. А почему нас должно волновать, надоело вам или нет? Нам надо, чтоб работало. Работает. А эмоции незнакомого мужика нам неинтересны.
0
Почетный модератор
Эксперт С++
5848 / 2859 / 392
Регистрация: 01.11.2011
Сообщений: 6,905
10.10.2013, 16:12 10

Не по теме:

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



Цитата Сообщение от ForEveR Посмотреть сообщение
void main() это нестандартно
А зачем ее продолжают поддерживать?
0
В астрале
Эксперт С++
8042 / 4799 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
10.10.2013, 16:17 11
SatanaXIII, gcc не поддерживает. clang не поддерживает. Остальные не знаю.
0
Почетный модератор
Эксперт С++
5848 / 2859 / 392
Регистрация: 01.11.2011
Сообщений: 6,905
10.10.2013, 16:19 12
ForEveR, перефразирую - зачем ее тогда вообще вводили?
0
Эксперт С++
2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
10.10.2013, 16:24 13
Давным-давно дело было.... Еще со времен Си (без плюсов) Кернигана и Ричи тянется этот хвост. А поддерживают пока еще - для обратной совместимости. Чтобы можно было компилировать код, написанный еще при царе Горохе :-)
0
В астрале
Эксперт С++
8042 / 4799 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
10.10.2013, 16:26 14
SatanaXIII, Можно тут почитать например: http://stackoverflow.com/quest... 93#5296593
1
Почетный модератор
Эксперт С++
5848 / 2859 / 392
Регистрация: 01.11.2011
Сообщений: 6,905
10.10.2013, 16:30 15
CheshireCat, но некроцитата утверждает, что и в си без плюсов не было.

ForEveR, пойду читать.
0
0 / 0 / 0
Регистрация: 31.05.2013
Сообщений: 4
10.10.2013, 16:40 16
Хе хе... Вот я и взял сегодня учебник 2001 года... Там и написано Си...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.10.2013, 16:40
Помогаю со студенческими работами здесь

Для заданого 0<=n<=200.Расматриваемого как возраст человека,вывести фразу вида: "Мне 21 год", "Мне 32 года", "мне 12 лет".
МОЙ ВОЗРАСТ. Для заданого 0&lt;=n&lt;=200.Расматриваемого как возраст человека,вывести фразу вида: &quot;Мне...

Public static void main(String args[]) c ";" и без
Учу Java по Шилдту. В общем как и все &quot;зеленые&quot; компилирую через cmd (с помощью bat файла потому...

Что делать с "public static void main(String[] args)"?
Здравствуйте!Чет я не догоняю.Я только начал читать про Java.Используя NetBeans IDE 7.0.И вот что я...

Вывести фразу вида: "Мне 21 год", "Мне 32 года", "мне 12 лет"
МОЙ ВОЗРАСТ. Для заданого 0&lt;=n&lt;=200.Расматриваемого как возраст человека,вывести фразу вида: &quot;Мне...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru