Tag: unreachable code

为什么无法访问的代码不是C ++中的错误?

无法访问的代码是Java等语言中的编译时错误。 但为什么它只是在C ++和C中发出警告? 请考虑以下示例: #include 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语句之后的语句永远不会被执行? 允许无法访问的代码的原因是什么?