@Prasoon: ваш вывод неверен. Это не UB; это плохо сформированная программа, и компилятор не может «делать то, что хочет»; он должен испускать диагностику.
жный дубликат:
Законно ли возвращаться в main () в C ++?
#include <iostream>
using namespace std;
int main() {
static int var = 5;
std::cout << --var;
if(var)
main();
}
GCC компилирует кодhttp://ideone.com/lIp3A , Я знаю, что main нельзя использовать внутри main в C ++. Почему этот код компилируется?