@naccib, isso começou só porque eu queria saber se tinha problema em `const func`, eu acho que isso é bom, já que é uma discussão legal, mas meio chato.

Responde.
Tem como fazer `int newmain() = main`?

@cross Bem... Você pode guardar funções usando function pointers, para a main() ficaria assim:
int (*newMain)(void) = &main;

Mas... main é um método especial, não é nada recomendável que você o referencie (isso inclui salvar ele em outra variável, ou ate chamar ele no código).

@naccib então, pera:
```
const int newMain(void)

int (*newMain)(void) = &main;
```

Não pode?
Essa é a única situação em que uma const função daria erro? Porque se for, não tem problema.

@cross Acho que não, você tá declarando a variável newMain duas vezes.
Eu vou sair, lê isso: http://www.cprogramming.com/tutorial/function-pointers.html

@naccib nossa, eu muito procurava isso.

`exec` em C.

@cross Fico feliz em ter ajudado.
Se você quiser mais sobre isso, lê sobre programação funcional em C++ (acho que não existe em C), lambdas e function composition.