In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:144:23: error: implicit conversion changes signedness: 'int' to '__gnu_cxx::__alloc_traits<std::allocator<unsigned long> >::value_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
matchRow[0] = static_cast<int>(i);
~ ^~~~~~~~~~~~~~~~~~~
/in/sokoban.hpp:157:39: error: implicit conversion changes signedness: '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type' (aka 'int') to 'unsigned long' [-Werror,-Wsign-conversion]
int currentCost = costMatrix[currentRow - 1][j - 1] - rowLabel[currentRow] - colLabel[j];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~
/in/sokoban.hpp:160:35: error: implicit conversion changes signedness: 'int' to '__gnu_cxx::__alloc_traits<std::allocator<unsigned long> >::value_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
path[j] = static_cast<int>(colZero);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~
/in/sokoban.hpp:171:46: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
rowLabel[matchRow[j]] += delta;
~~ ^~~~~
/in/sokoban.hpp:172:36: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
colLabel[j] -= delta;
~~ ^~~~~
/in/sokoban.hpp:157:96: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
int currentCost = costMatrix[currentRow - 1][j - 1] - rowLabel[currentRow] - colLabel[j];
~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
In file included from /in/Compile/check.cpp:1:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/iostream:39:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ostream:38:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ios:42:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/ios_base.h:41:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/locale_classes.h:40:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/string:41:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/allocator.h:46:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/x86_64-linux-gnu/c++/7.5.0/bits/c++allocator.h:33:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136:23: error: no matching constructor for initialization of 'pos'
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475:8: note: in instantiation of function template specialization '__gnu_cxx::new_allocator<pos>::construct<pos, unsigned long &, unsigned long &>' requested here
{ __a.construct(__p, std::forward<_Args>(__args)...); }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:100:21: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<pos> >::construct<pos, unsigned long &, unsigned long &>' requested here
_Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
^
/in/sokoban.hpp:277:23: note: in instantiation of function template specialization 'std::vector<pos, std::allocator<pos> >::emplace_back<unsigned long &, unsigned long &>' requested here
boxes.emplace_back(i, j);
^
/in/sokoban.hpp:28:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
struct pos{
^
/in/sokoban.hpp:28:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 2 were provided
/in/sokoban.hpp:28:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 2 were provided
7 errors generated.
/in/Compile/Makefile:16: recipe for target 'main' failed
make: *** [main] Error 1