In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:41:47: error: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion]
size_t hash = state.player.first * 31 + state.player.second;
~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/in/sokoban.hpp:43:32: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
hash = hash * 31 + box_pos;
~ ^~~~~~~
/in/sokoban.hpp:70:34: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
char cell = map.grid[i][j];
~~~ ^
/in/sokoban.hpp:70:37: 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]
char cell = map.grid[i][j];
~~~ ^
/in/sokoban.hpp:63:21: error: implicit conversion loses integer precision: 'std::vector::size_type' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
map.rows = grid.size();
~ ~~~~~^~~~~~
/in/sokoban.hpp:64:24: error: implicit conversion loses integer precision: 'std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
map.cols = grid[0].size();
~ ~~~~~~~~^~~~~~
/in/sokoban.hpp:104:22: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (map.grid[row][col] == '#' || state.box_positions.count(box) > 1) {
~~~ ^~~
/in/sokoban.hpp:104:27: 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 (map.grid[row][col] == '#' || state.box_positions.count(box) > 1) {
~~~ ^~~
/in/sokoban.hpp:116:22: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (map.grid[row][col] != 'T') {
~~~ ^~~
/in/sokoban.hpp:116:27: 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 (map.grid[row][col] != 'T') {
~~~ ^~~
/in/sokoban.hpp:176:33: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
int dx = directions[i].first;
~~~~~~~~~~ ^
/in/sokoban.hpp:177:33: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
int dy = directions[i].second;
~~~~~~~~~~ ^
/in/sokoban.hpp:181:43: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
next.moves += direction_chars[i];
~~~~~~~~~~~~~~~ ^
/in/sokoban.hpp:175:27: error: comparison of integers of different signs: 'int' and 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
for (int i = 0; i < directions.size(); ++i) {
~ ^ ~~~~~~~~~~~~~~~~~
/in/sokoban.hpp:212:17: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
grid.resize(rows);
~~~~~~ ^~~~
/in/sokoban.hpp:216:21: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
cin >> grid[i];
~~~~ ^
16 errors generated.
/in/Compile/Makefile:16: recipe for target 'main' failed
make: *** [main] Error 1