I found out that the following code gets accepted by Visual C++ 2008 and GCC 4.3 compilers:
void foo()
{
}
void bar()
{
return foo();
}
I am a bit surprised that it compiles. Is this a language feature or is it a bug in the compilers? What do the C/C++ standards say about this?
It’s a language feature of C++
C++ (ISO 14882:2003) 6.6.3/3
C (ISO 9899:1999) 6.8.6.4/1