In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:150:21: error: call to 'abs' is ambiguous
std::abs(boxes[i].col - boxes[j].col) == 1) {
^~~~~~~~
/usr/include/stdlib.h:837:12: note: candidate function
extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:56:3: note: candidate function
abs(long __i) { return __builtin_labs(__i); }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:61:3: note: candidate function
abs(long long __x) { return __builtin_llabs (__x); }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:70:3: note: candidate function
abs(double __x)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:74:3: note: candidate function
abs(float __x)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:78:3: note: candidate function
abs(long double __x)
^
In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:159:21: error: call to 'abs' is ambiguous
std::abs(boxes[i].row - boxes[j].row) == 1) {
^~~~~~~~
/usr/include/stdlib.h:837:12: note: candidate function
extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:56:3: note: candidate function
abs(long __i) { return __builtin_labs(__i); }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:61:3: note: candidate function
abs(long long __x) { return __builtin_llabs (__x); }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:70:3: note: candidate function
abs(double __x)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:74:3: note: candidate function
abs(float __x)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_abs.h:78:3: note: candidate function
abs(long double __x)
^
In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:271:49: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t new_row = curr.row + dir.first;
~ ~~~~^~~~~
/in/sokoban.hpp:272:49: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t new_col = curr.col + dir.second;
~ ~~~~^~~~~~
/in/sokoban.hpp:280:54: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t push_row = curr.row - dir.first;
~ ~~~~^~~~~
/in/sokoban.hpp:281:54: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t push_col = curr.col - dir.second;
~ ~~~~^~~~~~
/in/sokoban.hpp:462:38: error: implicit conversion changes signedness: 'typename iterator_traits<__normal_iterator<Position *, vector<Position, allocator<Position> > > >::difference_type' (aka 'long') to 'size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion]
size_t box_idx = std::distance(current.boxes.begin(), it);
~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/in/sokoban.hpp:463:68: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t box_new_row = new_row + directions[dir].first;
~ ~~~~~~~~~~~~~~~~^~~~~
/in/sokoban.hpp:464:68: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t box_new_col = new_col + directions[dir].second;
~ ~~~~~~~~~~~~~~~~^~~~~~
9 errors generated.
/in/Compile/Makefile:16: recipe for target 'main' failed
make: *** [main] Error 1