佚名通过本文主要向大家介绍了BOOL类型和int类型不是一样的吗?????在windefh中的声明typedefintBOOL;无效吗?????等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: BOOL类型和int类型不是一样的吗?????在windefh中的声明typedef int BOOL;无效吗?????
描述:
解决方案1:
描述:
做了一个ocx控件,其中有一个方法FTest()的返回值为BOOL,本来BOOL就是一个int类型,可是我在网页上面这样写:
alert(obj.FTest());
弹出来的对话框上面的内容不是true就是false,而且也根本不能和其他的整数进行比较,
if(obj.FTest() != 0)
if(obj.FTest() == 0)
这样的比较语句全部都不成立,为什么会这样??BOOL和int为什么不一样?微软在玩我????
解决方案1:
我觉得可能跟IDL语言有关系得吧 会不会是在IDL中 你定义的BOOL 就是bool 而不是VC中的BOOL呢而你的接口使用的是BOOL
解决方案2: TRUE 是 1 ,FALSE 是 0
这个是alert函数做的,它不是vc的,alert(),对0,1进行处理了也很正常
BOOL型在VC中是:TRUE =非零 FALSE = 零
在VB中:TRUE = -1,FALSE = 0