C++ 警告C4018:“

C++ 警告C4018:“,c++,visual-studio-2010,error-handling,compiler-errors,C++,Visual Studio 2010,Error Handling,Compiler Errors,我面临着这个问题,如何解决这个问题?编译器说,将无符号变量与有符号变量进行比较是不允许的,这被认为是一种不好的做法。这是因为有符号变量 无符号短0xFFFF为65535,并且 短0xFFFF为-1。 它们都有相同的记忆表征,但意思完全相反。因此,编译器正在保护您免受自己的伤害 有关此警告的详细信息,请访问您需要向我们显示代码,尤其是在第164行附近。这是允许的;通常的算术转换是在进行比较之前执行的。它是否给出用户期望的值是另一回事。否则,两个操作数都应转换为与带符号整数类型的操作数类型相对应的无

我面临着这个问题,如何解决这个问题?

编译器说,将无符号变量与有符号变量进行比较是不允许的,这被认为是一种不好的做法。这是因为有符号变量

无符号短0xFFFF为65535,并且 短0xFFFF为-1。 它们都有相同的记忆表征,但意思完全相反。因此,编译器正在保护您免受自己的伤害


有关此警告的详细信息,请访问

您需要向我们显示代码,尤其是在第164行附近。这是允许的;通常的算术转换是在进行比较之前执行的。它是否给出用户期望的值是另一回事。否则,两个操作数都应转换为与带符号整数类型的操作数类型相对应的无符号整数类型。@phresnel,这是允许的,但这是一个警告。我将改变我的英语。尽管你的@phresnel,我还是有点不知道你的编辑。无论如何,现在+1:
1>c:\users\aa\documents\visual studio 2010\projects\systemplanet\systemplanet\systemplanet.cpp(164):
    warning C4018: '<' : signed/unsigned mismatch