C/C++

Перед объявлением - main(),обязательно нужен,какой-нибудь,оператор?

В консольных сеансах и при работе программ с пользовательским интерфейсом обязательно требуется указывать тип основной функции. Стандарт плюсов требует
 int main(void) 
, хотя и без void всё прекрасно работает. В простом Си может прокатить и
 void main() 
, а может и не прокатить - это зависит от системы программирования. Если библиотеки не используются, то "инклюдить" препроцессором ни в Си, ни в плюсах ничего не нужно (только зачем, спрашивается, нужна такая, мягко говоря, странная программа ?), а стандартное пространство имён на плюсах можно определять и без оператора
 using namespace std; 
Так что требуется только указание типа функции main и больше ничего.
А вообще-то си-программы могут ведь работать не только в интерактивном или в пакетном режимах, а тогда может случиться, что ни void и не int перед main не обязательны - это всегда чисто эмпирически очень быстро устанавливается.
Андрей Вяткин
Андрей Вяткин
66 572
Лучший ответ
 void main() {} 

Перед объявлением main() обязательно нужно указать тип этого самого main. Стандартно это int, но визуал студия пропускает и void (с предупреждением в новых версиях).

Приведённый код - полноценная минимальная программа на c++ / c
Игорь Гуняга
Игорь Гуняга
30 155
Этот вопрос здесь всплывает с периодичность раз в три года, а ссылка на ответ как был так и есть.
http://fevt.ru/publ/int_or_void_main/11-1-0-179
Алексей *****
Алексей *****
11 084
Если main() компилируется в операционной системе, то нужно возвращать в ОС результат своей работы: 0 - отработано без ошибок, >0 - найдена ошибка.
Если main() работает во флэш-памяти микроконтроллера, то возвращать результат работы некуда потому, что там нет никакой ОС. Тогда компиляторы C/C++ используют тип возврата void.
Дмитрий Педан
Дмитрий Педан
1 390