この線
std::unique_ptr<PHYSFS_sint64> myBuf(new PHYSFS_sint64[PHYSFS_fileLength(myfile)]);
警告を生成します
warning C4244: 'initializing' : conversion from 'PHYSFS_sint64' to 'unsigned int', possible loss of data
PHYSFS_sint64
のtypedefですsinged long long
PHYSFS_fileLength
を返しますPHYSFS_sint64
。
だから、コンパイラが aを aに代入しようとしたときにからsigned long long
に変換しようとする理由がわかりません。unsigned int
signed long long
signed long long
signed long long
代わりに明示的に入力するPHYSFS_sint64
と、同じ警告が出力されます
私は今、愚かですか?理解できません