Точка входа
Функция, с которой начинается твой код. В C++ это функция main: при запуске программы код запуска из стандартной библиотеки готовит программу и вызывает main.
Программа может состоять из сотен функций, но начать нужно с какой-то одной.
В C++ это всегда main. Функцию main не вызывают из своего кода: когда ты запускаешь app.exe, Windows сначала выполняет
код запуска из стандартной библиотеки. Линкер сам добавляет код запуска в каждую программу на C++. Код запуска готовит программу к работе,
например настраивает std::cout, и вызывает main.
Когда main заканчивается, управление возвращается в код запуска: код запуска досылает в консоль остаток текста из std::cout и завершает программу.
Всё, что программа должна сделать, — открыть окно, нарисовать кадры, закрыться — происходит внутри main или в функциях, которые main вызвала.
Поэтому main в программе ровно одна. Если функции main нет, LNK2019: код запуска вызывает main из функции invoke_main, и линкер не находит, что подставить в этот вызов.
Если функций main две, линкер тоже остановится: он не знает, какую из двух вызывать.
main возвращает число — int main().