古いコードを使用していますが、-1
新しい C++ 標準を使用してコンパイルするたびにエラーが発生します。
constant expression evaluates to -1 which cannot be narrowed to type 'char' [-Wc++11-narrowing]
ここにスニペットコードがあります
typedef struct {
//short len;
//unsigned short cw;
char x, y, v, w;
} testStruct;
const testStruct testArr[] = {
{ 1, -1, 0, 0},
{ -1, 1, 0, 0},
{ 0, 0, -1, 1},
{ 0, 1, -1, 0},
{ 0, -1, 1, 0},
{ 0, 0, 1, -1},
{ 1, 1, 0, 0},
{ 0, 0, -1, -1},
{ -1, -1, 0, 0},
{ 0, -1, -1, 0},
{ 1, 0, -1, 0},
{ 0, 1, 0, -1},
{ -1, 0, 1, 0},
{ 0, 0, 1, 1},
{ 1, 0, 1, 0},
{ 0, -1, 0, 1},
{ 0, 1, 1, 0},
{ 0, 1, 0, 1},
{ -1, 0, -1, 0},
{ 1, 0, 0, 1},
{ -1, 0, 0, -1},
{ 1, 0, 0, -1},
{ -1, 0, 0, 1},
{ 0, -1, 0, -1}
};
警告: 変換 C++11 を狭めるに続いて、コードとブラケットを括弧に変更しようとしましたが、それでも同じエラーが発生しました。古い C++ 標準に戻らない解決策はありますか?