I am working with old code and I got an error at every -1
when compiling using newer C++ standard.
constant expression evaluates to -1 which cannot be narrowed to type 'char' [-Wc++11-narrowing]
Here is the snippet code
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}
};
I've tried to change the code and bracket to parentheses following warning: narrowing conversion C++11 , but I still got the same error. Is there any solution without reverting back to old C++ standard?
Aucun commentaire:
Enregistrer un commentaire