为什么编译器不能排除这样的逻辑错误?

dnyz 2003-09-07 10:44:36
public class TA
{
public TB _ab = new TB();
}

public class TB
{
public TA _ba = new TA();
}

只要任意产生其中的一个实例就会导致堆栈溢出,那编译器为什么不直接排除这种错误呢?
...全文
54 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Geoffrey1975 2003-09-07
  • 打赏
  • 举报
回复
我个人认为出现这种情况的机会并不高。
除非有意制造这种情形,所以才会不考虑吧!
dnyz 2003-09-07
  • 打赏
  • 举报
回复
但这种逻辑错误编译器应该很容易判断出的吧
Geoffrey1975 2003-09-07
  • 打赏
  • 举报
回复
你都说了是逻辑错误啦。
逻辑错误是由设计者自身的问题产生的。编译器只能是个辅助工具。
最难调试的bug就是逻辑上的bug。
就好比你做递归程序,如果你的递归没有终结的逻辑编码,程序会无休止的运行,直至出错。
rwdx 2003-09-07
  • 打赏
  • 举报
回复
up

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧