В C++
существуют 2 допустимые версии main()
:
int main() // version 1
int main(int argc, char **argv) // version 2
Но обе перегрузки не могут сосуществовать одновременно. Почему нет? (Потенциальный прецедент: при запуске программы с терминала, если аргументы не переданы, вызывается первая версия, в противном случае вторая версия.)
Выполняет ли компилятор специальную проверку, чтобы разрешить только одну версию для двоичного кода?