descubrí que el siguiente código es aceptado por Visual C++ 2008 y GCC 4.3 compiladores:¿Está devolviendo el código válido?
void foo()
{
}
void bar()
{
return foo();
}
Estoy un poco sorprendido de que compila. ¿Es esta una característica del lenguaje o es un error en los compiladores? ¿Qué dicen los estándares de C/C++ sobre esto?
Tenga en cuenta que muchos compiladores que pueden compilar ambos C y C++ ofrecerán el C++ regla como una extensión no estándar durante la compilación de código en C, aunque esto no debe ser invocado si quieres ser portátil. –