Другие языки программирования и технологии

Нужна помощь по C++.

Помогите пожалуйста. Вот часть кода с функцией:
void function()
{
cout << "Я функция, меня вызвали!!!" << endl;
}
Объясните пожалуйста что означает void. И почему, когда начинается программа, все рекомендуют писать не void main(), а int main(). Ведь int - это тип целочисленных данных.
"Если пишете int main(), то где-то в теле функции должна быть строчка (или несколько) :
return <число>;

Т. е. точка выхода.
Можно ее пропустить, конечно, тогда компилятор автоматически добавит return 0; в конец программы.
Это значение передается вызывающему процессу (например, операционной системе) чтобы он "понял", что программа завершена корректно.

Второй вариант:
void main()

по завершении программы ничего не возвращает, что может привести к различным проблемам.
Это можно обойти с помощью функции exit(<число>);

Но тем не менее, запись void main() не соответствует стандарту и считается некорректной, и некоторые компиляторы ее не принимают. "

По счёт void func
https://ravesli.com/urok-92-ukazateli-tipa-void/
Сергей Мартынов
Сергей Мартынов
37 513
Лучший ответ
Айгуль Абишова А вот функцию, которую я написал писать лучше с int? И ещё несколько вопросов:
1)Что если в return поставить не ноль? Что поменяется?
2)Что если return(число) поставить не в конец программы? То она на этом месте завершится? (Просто не очень пока что понимаю).
Игорь Лещинский Вопрос о C++, ссылка на mozilla.org про JavaScript
Если функция имеет возвращаемое значение, значит оно кому-то нужно. В данном случае операционной системе. http://fevt.ru/publ/int_or_void_main/11-1-0-179
void ("пусто") означает, что функция ничего не возвращает в качестве результата. Что касается main(){}, то по стандарту она обязана иметь тип int, возвращаемое значение может анализироваться операционной системой как код благополучного завершения программы или код ошибки. Но фирма Borland и ее наследники использовали в своих компиляторах собственное расширение стандарта языка, позволив писать и void main.
А return, кстати, даже в int main необязателен. Если он отсутствует, компилятор добавляет соответствующий код автоматически.
Ваша функция выполняет вывод, и не вырабатывает никакого значения, поэтому он холостой "void", а вся программа, завершаясь, должна вернуть число - "код возврата" (это требование операционки).
Nazbek Rysaliev
Nazbek Rysaliev
67 288
Функция - основная единица программного кода, которая должна отработать, и вернуть какое - либо значение. "int main(){}" означает, что функция при её вызове вернёт целое число. "void main(){}" означает, что функция при вызове не вернёт никакого значения, а просто отработает.

Если в теле функции, которая должна вернуть целое число, не писать "return ", то по умолчанию она вернёт 0.

Лично у меня компилятор не принимал запись "void main(){}".

Так что в теле функции main рекомендую писать "return 0", или же можно вообще не писать.