Последний черновик С++ 14, который я смог найти, говорит о main()
[3.6.1]:
Реализация не должна предопределять основную функцию. Эта функция не должна быть перегружена. Он должен иметь тип возвращаемого типа int, но в противном случае его тип определяется реализацией. Все реализации должны обеспечивать как
- функция(), возвращающая int и
- функция (int, указатель на указатель на char), возвращающая int
и (параграф 5)
Если элемент управления достигнет конца main без столкновения с оператором return, эффект заключается в выполнении
return 0;
Означает ли это, что все следующие юридические С++ 14 минимальные программы? Если нет, почему бы и нет?
-
auto main() -> int {}
-
auto main() { return 0; }
-
auto main() {}