In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:54:23: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
int new_x = plr.x + dx;
~ ^~
/in/sokoban.hpp:55:23: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
int new_y = plr.y + dy;
~ ^~
/in/sokoban.hpp:57:12: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[new_y][new_x] == '#') {
~~~~ ^~~~~
/in/sokoban.hpp:57:19: error: implicit conversion changes signedness: 'int' to 'std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[new_y][new_x] == '#') {
~~~~ ^~~~~
/in/sokoban.hpp:61:11: error: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion]
plr.x = new_x;
~ ^~~~~
/in/sokoban.hpp:62:11: error: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion]
plr.y = new_y;
~ ^~~~~
/in/sokoban.hpp:54:21: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
int new_x = plr.x + dx;
~~~~~ ~~~~~~^~~~
/in/sokoban.hpp:55:21: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
int new_y = plr.y + dy;
~~~~~ ~~~~~~^~~~
/in/sokoban.hpp:75:29: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
int new_box_x = plr.x + 2 * dx;
~ ~~^~~~
/in/sokoban.hpp:76:29: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
int new_box_y = plr.y + 2 * dy;
~ ~~^~~~
/in/sokoban.hpp:79:12: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[new_box_y][new_box_x] == '#' ||
~~~~ ^~~~~~~~~
/in/sokoban.hpp:79:23: error: implicit conversion changes signedness: 'int' to 'std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[new_box_y][new_box_x] == '#' ||
~~~~ ^~~~~~~~~
/in/sokoban.hpp:86:30: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
if (box.first == plr.x + dx && box.second == plr.y + dy) {
~ ^~
/in/sokoban.hpp:86:58: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
if (box.first == plr.x + dx && box.second == plr.y + dy) {
~ ^~
/in/sokoban.hpp:92:12: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
plr.x += dx;
~~ ^~
/in/sokoban.hpp:93:12: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
plr.y += dy;
~~ ^~
/in/sokoban.hpp:75:25: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
int new_box_x = plr.x + 2 * dx;
~~~~~~~~~ ~~~~~~^~~~~~~~
/in/sokoban.hpp:76:25: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
int new_box_y = plr.y + 2 * dy;
~~~~~~~~~ ~~~~~~^~~~~~~~
/in/sokoban.hpp:122:15: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
grid.resize(l);
~~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
/in/Compile/Makefile:16: recipe for target 'main' failed
make: *** [main] Error 1