terça-feira, 28 de setembro de 2010

nunca misture signed e usigned in c++

porque ?


#include
int main (void)
{
long a = -1;
unsigned b = 1;
printf ("%d\n", a > b);
return 0;
}


Setting environment for using Microsoft Visual Studio 2008 x86 tools.

D:\devel\src\others> cl compare.cpp
D:\devel\src\others> compare
1
D:\devel\src\others>


e agora:

Setting environment for using Microsoft Visual Studio 2008 Beta2 x64 cross tools

D:\devel\src\others> cl compare.cpp
D:\devel\src\others> compare
0
D:\devel\src\others>
entao cuidado ;)