The line
std::unique_ptr<PHYSFS_sint64> myBuf(new PHYSFS_sint64[PHYSFS_fileLength(myfile)]);
produces the warning
warning C4244: 'initializing' : conversion from 'PHYSFS_sint64' to 'unsigned int', possible loss of data
PHYSFS_sint64
is a typedef for singed long long
PHYSFS_fileLength
returns a PHYSFS_sint64
.
So I don't understand why the compiler tries to convert from signed long long
to unsigned int
when I just try to assign a signed long long
to a signed long long
?
When I explicitly type signed long long
instead of PHYSFS_sint64
it still outputs the same warning
Am I being stupid right now? I don't get it