In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:41:49: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
return isInBounds(x, y, rows, cols) && grid[y][x] == PATH;
~~~~ ^
/in/sokoban.hpp:41:52: 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]
return isInBounds(x, y, rows, cols) && grid[y][x] == PATH;
~~~~ ^
/in/sokoban.hpp:58:10: error: no member named 'queue' in namespace 'std'
std::queue<std::tuple<int, int, std::vector<std::string>, std::string>> q;
~~~~~^
/in/sokoban.hpp:58:75: error: expected '(' for function-style cast or type construction
std::queue<std::tuple<int, int, std::vector<std::string>, std::string>> q;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
/in/sokoban.hpp:58:77: error: use of undeclared identifier 'q'
std::queue<std::tuple<int, int, std::vector<std::string>, std::string>> q;
^
/in/sokoban.hpp:59:10: error: no template named 'unordered_set' in namespace 'std'; did you mean 'unordered_map'?
std::unordered_set<std::string> visited;
~~~~~^~~~~~~~~~~~~
unordered_map
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unordered_map.h:101:11: note: 'unordered_map' declared here
class unordered_map
^
In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:59:10: error: too few template arguments for class template 'unordered_map'
std::unordered_set<std::string> visited;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unordered_map.h:101:11: note: template is declared here
class unordered_map
^
In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:65:22: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[i][j] == START) {
~~~~ ^
/in/sokoban.hpp:65:25: 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[i][j] == START) {
~~~~ ^
/in/sokoban.hpp:68:22: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
grid[i][j] = PATH;
~~~~ ^
/in/sokoban.hpp:68:25: 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]
grid[i][j] = PATH;
~~~~ ^
/in/sokoban.hpp:73:8: error: use of undeclared identifier 'q'
q.push({startX, startY, grid, ""});
^
/in/sokoban.hpp:74:82: error: use of undeclared identifier 'gridToState'
visited.insert(std::to_string(startX) + "," + std::to_string(startY) + "," + gridToState(grid));
^
/in/sokoban.hpp:76:13: error: use of undeclared identifier 'q'
while (!q.empty()) {
^
/in/sokoban.hpp:77:53: error: use of undeclared identifier 'q'
auto [playerX, playerY, currentMap, path] = q.front();
^
/in/sokoban.hpp:78:9: error: use of undeclared identifier 'q'
q.pop();
^
/in/sokoban.hpp:100:28: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
newMap[newY][newX] = PATH; // 玩家移动到箱子的位置
~~~~~~ ^~~~
/in/sokoban.hpp:100:34: 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]
newMap[newY][newX] = PATH; // 玩家移动到箱子的位置
~~~~~~ ^~~~
/in/sokoban.hpp:101:28: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
newMap[nextY][nextX] = BOX; // 箱子移动到新位置
~~~~~~ ^~~~~
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