无法访问的代码是 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 语句之后的语句永远不会被执行?允许无法访问的代码的原因是什么?
无法访问的代码在 C++ 中不是编译错误,但通常会给出警告,具体取决于您的编译器和标志。如果编译器在检测到无法访问的代码时停止,那么您调试代码的选项就会减少,因为您还必须手动删除不必要的代码。
警告而不是错误是有意义的。提到这一点是件好事,因为人们可能会无意中留下旧代码,但无论如何没有理由不编译。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)