最近发现一个绝大部分人没注意过的可能引起程序错误的问题,在vs2005和vs2010下测试过,请看下图: 大部分人会理所当然的认为(bool)2 == true这个表达式的值是true, 但在vs里面,bool 数据之间的相等比较,似乎用了int 数值。也就是说(bool)2 == (bool)1会返回false,虽然(bool)2和(bool)1都是true! 这个是工作之中碰到的一个case,记录一下。