警告: '(stride * 4u)' の 'unsigned int' から 'WORD {aka short unsigned int}' への { } 内での縮小変換は、C++11 では不適切な形式です [-Wnarrowing]
MinGW から次のコードをコンパイルすると、この警告が表示される理由がわかりません。
unsigned stride = 3;
D3DVERTEXELEMENT9 NORMALELEMENT =
{ 0, stride * sizeof(gs_scalar), D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0 };
if (useNormals) stride += 3;
stride * sizeof(gs_scalar)
これらの中括弧内の(gs_scalar is )について不平を言っていますが、バイト数を返すためfloat
、これが縮小変換であることがわかりません。のデータ型を WORD、DWORD、CHAR、すべてにsizeof
変更しようとしましたが、同じまたは同様の警告が引き続き表示されます。stride