void a(){ a() }는 스택 오버플로 나고

void a(){ b() }
void b(){ c() }
void c(){ d() }
...

는 왜 스택 오버플로가 안남?