Por que meu compilador C ++ permite chamadas recursivas para main? [duplicado]
Possível duplicado:
É legal recursar para main () em C ++?
#include <iostream>
using namespace std;
int main() {
static int var = 5;
std::cout << --var;
if(var)
main();
}
O gcc compila o códigohttp://ideone.com/lIp3A . Eu sei que main não pode ser usado dentro de main em C ++. Como esse código é compilado?