64位整数的编译错误
摘要:
在用GCC编译下面的代码时出现以下错误:integer constant is too large for 'long' typeunsigned long long m_qtFlags=(m_qtFlags&0xffffffff00000000)|Flags;google了一下发现原因如下:unsigned long long是64位整数,而编译器在解析没有后缀的常量时会尝试解析成int,而0xffffffff00000000超过了int的范围,所以会报warning或者error解决方法:在常量后面加ULL告诉编译器这是一个64位整数 阅读全文
posted @ 2012-02-16 14:02 hyamw 阅读(362) 评论(0) 推荐(0) 编辑