无法访问的代码是 Java 等语言中的编译时错误。但为什么它只是在 C++ 和 C 中发出警告?考虑以下示例:
#include <iostream>
int f()
{
int a=3;
return a;
int b=6; // oops it is unreachable code
std::cout<<b; // program control never goes here
}
int main()
{
std::cout<<f()<<'\n';
}
编译器不应该在这个程序中抛出错误,因为函数 f() 中的 return 语句之后的语句将永远不会被执行?允许无法访问代码的原因是什么?