Ich fand heraus, dass der folgende Code von Visual C++ 2008 und GCC 4.3 Compiler akzeptiert wird:Gibt ungültigen gültigen Code zurück?
void foo()
{
}
void bar()
{
return foo();
}
überrascht Ich bin ein bisschen, dass es kompiliert. Ist das eine Sprachfunktion oder ist es ein Fehler in den Compilern? Was sagen die C/C++ - Standards dazu?
Beachten Sie, dass viele Compiler, die kompilieren kann sowohl C und C++ wird die C++ Regel als Nicht-Standard-Erweiterung bieten, während C-Code kompiliert, obwohl dies nicht geltend gemacht werden sollte wenn du tragbar sein willst. –