convert.cpp: In member function ‘std::string Roman::ConversionContext::toR(mpz_class)’: convert.cpp:127:43: error: passing ‘const std::map >’ as ‘this’ argument of ‘std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = Roman::ConversionContext::Numerals; _Tp = const std::vector; _Compare = std::less; _Alloc = std::allocator > >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = const std::vector; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = Roman::ConversionContext::Numerals]’ discards qualifiers [-fpermissive] s, m_symbols[m_context]); ^ convert.cpp: In member function ‘std::string Roman::ConversionContext::reduce(std::string)’: convert.cpp:167:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ make: *** [convert.o] Error 1