警告 C4018:'<':有符号/无符号不匹配
warning C4018: '<' : signed/unsigned mismatch
1>c:usersaadocumentsvisual studio 2010projectssystemplanetsystemplanetsystemplanet.cpp(164):
warning C4018: '<' : signed/unsigned mismatch
我正面临这个问题,我该如何解决这个问题?
编译器表示,将unsigned
变量与signed
变量进行比较是不允许的,这被认为是错误的做法。这是因为signed
变量的二补码表示。
(unsigned short) 0xFFFF
为65535- CCD_ 5为-1
它们都有相同的记忆表征,但意味着完全相反的东西。所以编译器是在保护你自己。
有关此警告的详细信息,请访问http://msdn.microsoft.com/en-us/library/y92ktdf2.aspx
相关文章:
- C4018:类内有符号、无符号不匹配
- 为什么QByteArray的大小是"int"而不是"无符号int"
- 为什么 fstream.read 和 fstream.write 使用 char 而不是无符号字符?
- 对于循环运行长整,但不运行无符号长整整
- 为什么这个"uint64_t"模板专用化与 Mac 平台上的"无符号长"不匹配?
- C++ 错误:对 '(std::string {aka std::basic_string}) (<char>无符号整数、字符)的调用不匹配
- 警告 C4018:">=":VSC++ 2010 中的有符号/无符号不匹配
- 为什么 std::count_if 返回有符号的值而不是无符号的值
- 有符号/无符号不匹配,并且函数在转换为函数时不带2个参数
- 为什么 shared_ptr<T>::use_count() 返回 long 而不是无符号类型?
- 有符号/无符号 int 不匹配
- 断言(true)警告有符号/无符号不匹配
- 如何检查uint8_t是否作为类型而不是无符号字符存在
- 为什么编译器不使无符号与有符号的比较安全?
- [C++ STL]-pair<vector-iter,int*> - 不匹配 - 无匹配函数
- 为什么无符号字符的结果<<无符号字符不是无符号字符
- 警告 C4018:'>':有符号/无符号不匹配
- 为什么编译器不警告无符号到有符号的转换?
- 为什么std::streamsize定义为有符号而不是无符号
- 为什么opencv的Mat::rows和Mat::cols是有符号的而不是无符号的?