Last active
June 4, 2020 13:37
-
-
Save AlexandreGerault/bce1c0e8f0010c9261b6d3b157b2d102 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dans le fichier inclus depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:7, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/utils/factory.hpp: Dans l'instanciation de « class ww::factory<ww::room_interface> » : | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:28:33: requis depuis ici | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/utils/factory.hpp:22:16: erreur: le type abstrait « ww::room_interface » retourné est invalide | |
22 | Object make(std::string const &key, Args &&... args) const { | |
| ^~~~ | |
Dans le fichier inclus depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:6, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/room_interface.hpp:11:11: note: parce que les fonctions virtuelles suivantes sont pures dans « ww::room_interface »: | |
11 | class room_interface { | |
| ^~~~~~~~~~~~~~ | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/room_interface.hpp:16:22: note: « virtual void ww::room_interface::start() » | |
16 | virtual void start() = 0; | |
| ^~~~~ | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/room_interface.cpp:6:32: erreur: définition de « ww::room_interface::room_interface() » explicitement par défaut | |
6 | room_interface::room_interface() { | |
| ^ | |
Dans le fichier inclus depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/room_interface.cpp:1: | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/room_interface.hpp:14:9: note: « ww::room_interface::room_interface() » explicitement par défaut ici | |
14 | room_interface() = default; | |
| ^~~~~~~~~~~~~~ | |
Dans le fichier inclus depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp: Dans la fonction membre « void ww::server_rooms::create_room(const string&, Args&& ...) »: | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:16:58: erreur: « class ww::factory<ww::room_interface> » n'a pas de membre nommé « make » | |
16 | m_rooms.insert(m_rooms.end(), m_room_factory.make(type, args...)); | |
| ^~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc: Dans l'instanciation de « std::__cxx11::list<_Tp, _Alloc>::__remove_return_type std::__cxx11::list<_Tp, _Alloc>::remove(const value_type&) [with _Tp = ww::room_interface; _Alloc = std::allocator<ww::room_interface>; std::__cxx11::list<_Tp, _Alloc>::__remove_return_type = long unsigned int; std::__cxx11::list<_Tp, _Alloc>::value_type = ww::room_interface] » : | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:18:24: requis depuis ici | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: erreur: no match for « operator== » (operand types are « ww::room_interface » and « const value_type » {aka « const ww::room_interface »}) | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/stl_algobase.h:67, | |
depuis /usr/include/c++/10.1.0/list:60, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/stl_iterator.h:434:5: note: candidat : « template<class _IteratorL, class _IteratorR> constexpr bool std::operator==(const std::reverse_iterator<_IteratorL>&, const std::reverse_iterator<_IteratorR>&) requires requires{{std::operator==::__x->base() == std::operator==::__y->base()} -> decltype(auto) [requires std::convertible_to<<placeholder>, bool>];} » (inversé) | |
434 | operator==(const reverse_iterator<_IteratorL>& __x, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/stl_iterator.h:434:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::reverse_iterator<_IteratorL> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/stl_algobase.h:67, | |
depuis /usr/include/c++/10.1.0/list:60, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/stl_iterator.h:1427:5: note: candidat : « template<class _IteratorL, class _IteratorR> constexpr bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&) requires requires{{std::operator==::__x->base() == std::operator==::__y->base()} -> decltype(auto) [requires std::convertible_to<<placeholder>, bool>];} » (inversé) | |
1427 | operator==(const move_iterator<_IteratorL>& __x, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/stl_iterator.h:1427:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::move_iterator<_IteratorL> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:61, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/allocator.h:206:5: note: candidat : « template<class _T1, class _T2> constexpr bool std::operator==(const std::allocator<_Up>&, const std::allocator<_T2>&) » (inversé) | |
206 | operator==(const allocator<_T1>&, const allocator<_T2>&) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/allocator.h:206:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::allocator<_Up> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/basic_string.h:48, | |
depuis /usr/include/c++/10.1.0/string:55, | |
depuis /usr/include/c++/10.1.0/bits/locale_classes.h:40, | |
depuis /usr/include/c++/10.1.0/bits/ios_base.h:41, | |
depuis /usr/include/c++/10.1.0/streambuf:41, | |
depuis /usr/include/c++/10.1.0/bits/streambuf_iterator.h:35, | |
depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/string_view:496:5: note: candidat : « template<class _CharT, class _Traits> constexpr bool std::operator==(std::basic_string_view<_CharT, _Traits>, std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >) » (inversé) | |
496 | operator==(basic_string_view<_CharT, _Traits> __x, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/string_view:496:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « std::basic_string_view<_CharT, _Traits> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/string:55, | |
depuis /usr/include/c++/10.1.0/bits/locale_classes.h:40, | |
depuis /usr/include/c++/10.1.0/bits/ios_base.h:41, | |
depuis /usr/include/c++/10.1.0/streambuf:41, | |
depuis /usr/include/c++/10.1.0/bits/streambuf_iterator.h:35, | |
depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/basic_string.h:6175:5: note: candidat : « template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*) » (inversé) | |
6175 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/basic_string.h:6175:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::__cxx11::basic_string<_CharT, _Traits, _Allocator> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/ios_base.h:46, | |
depuis /usr/include/c++/10.1.0/streambuf:41, | |
depuis /usr/include/c++/10.1.0/bits/streambuf_iterator.h:35, | |
depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/system_error:349:3: note: candidat : « bool std::operator==(const std::error_code&, const std::error_condition&) » (inversé) | |
349 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/system_error:349:32: note: pas de conversion connue pour convertir l'argument 1 depuis « const value_type » {aka « const ww::room_interface »} vers « const std::error_code& » | |
349 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | |
| ~~~~~~~~~~~~~~~~~~^~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/ranges:45, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:38, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/optional:985:5: note: candidat : « template<class _Tp, class _Up> constexpr std::__optional_relop_t<decltype ((declval<_Tp>() == declval<_Up>()))> std::operator==(const std::optional<_Tp>&, const std::optional<_Up>&) » (inversé) | |
985 | operator==(const optional<_Tp>& __lhs, const optional<_Up>& __rhs) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/optional:985:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::optional<_Tp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/ranges:45, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:38, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/optional:1045:5: note: candidat : « template<class _Tp> constexpr bool std::operator==(const std::optional<_Tp>&, std::nullopt_t) » (inversé) | |
1045 | operator==(const optional<_Tp>& __lhs, nullopt_t) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/optional:1045:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::optional<_Tp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/ranges:45, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:38, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/optional:1113:5: note: candidat : « template<class _Tp, class _Up> constexpr std::__optional_relop_t<decltype ((declval<_Tp>() == declval<_Up>()))> std::operator==(const std::optional<_Tp>&, const _Up&) » (inversé) | |
1113 | operator==(const optional<_Tp>& __lhs, const _Up& __rhs) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/optional:1113:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::optional<_Tp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/ranges:45, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:38, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/optional:1119:5: note: candidat : « template<class _Tp, class _Up> constexpr std::__optional_relop_t<decltype ((declval<_Up>() == declval<_Tp>()))> std::operator==(const _Up&, const std::optional<_Tp>&) » (inversé) | |
1119 | operator==(const _Up& __lhs, const optional<_Tp>& __rhs) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/optional:1119:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::optional<_Tp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/ranges:46, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:38, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/tuple:1393:5: note: candidat : « template<class ... _TElements, class ... _UElements> constexpr bool std::operator==(const std::tuple<_Tps ...>&, const std::tuple<_UTypes ...>&) » (inversé) | |
1393 | operator==(const tuple<_TElements...>& __t, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/tuple:1393:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::tuple<_Tps ...> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/memory:83, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/unique_ptr.h:752:5: note: candidat : « template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&) » (inversé) | |
752 | operator==(const unique_ptr<_Tp, _Dp>& __x, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/unique_ptr.h:752:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::unique_ptr<_Tp, _Dp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/memory:83, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/unique_ptr.h:759:5: note: candidat : « template<class _Tp, class _Dp> bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t) » (inversé) | |
759 | operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/unique_ptr.h:759:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::unique_ptr<_Tp, _Dp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/shared_ptr.h:52, | |
depuis /usr/include/c++/10.1.0/memory:84, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/shared_ptr_base.h:1439:5: note: candidat : « template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&) » (inversé) | |
1439 | operator==(const __shared_ptr<_Tp1, _Lp>& __a, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/shared_ptr_base.h:1439:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::__shared_ptr<_Tp1, _Lp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/shared_ptr.h:52, | |
depuis /usr/include/c++/10.1.0/memory:84, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/shared_ptr_base.h:1445:5: note: candidat : « template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator==(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t) » (inversé) | |
1445 | operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/shared_ptr_base.h:1445:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::__shared_ptr<_Tp, _Lp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/memory:84, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/shared_ptr.h:436:5: note: candidat : « template<class _Tp, class _Up> bool std::operator==(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Tp>&) » (inversé) | |
436 | operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/shared_ptr.h:436:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::shared_ptr<_Tp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/memory:84, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/shared_ptr.h:442:5: note: candidat : « template<class _Tp> bool std::operator==(const std::shared_ptr<_Tp>&, std::nullptr_t) » (inversé) | |
442 | operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/shared_ptr.h:442:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::shared_ptr<_Tp> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/functional:59, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/utils/factory.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:7, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/std_function.h:680:5: note: candidat : « template<class _Res, class ... _Args> bool std::operator==(const std::function<_Res(_ArgTypes ...)>&, std::nullptr_t) » (inversé) | |
680 | operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/std_function.h:680:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « const value_type » {aka « const ww::room_interface »} n'est pas dérivé de « const std::function<_Res(_ArgTypes ...)> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/stl_algobase.h:64, | |
depuis /usr/include/c++/10.1.0/list:60, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/stl_pair.h:466:5: note: candidat : « template<class _T1, class _T2> constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) » | |
466 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/stl_pair.h:466:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::pair<_T1, _T2> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:63, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/stl_list.h:1995:5: note: candidat : « template<class _Tp, class _Alloc> bool std::operator==(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&) » | |
1995 | operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/stl_list.h:1995:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::__cxx11::list<_Tp, _Alloc> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/iosfwd:40, | |
depuis /usr/include/c++/10.1.0/iterator:64, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/postypes.h:222:5: note: candidat : « template<class _StateT> bool std::operator==(const std::fpos<_StateT>&, const std::fpos<_StateT>&) » | |
222 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/postypes.h:222:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::fpos<_StateT> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/basic_string.h:48, | |
depuis /usr/include/c++/10.1.0/string:55, | |
depuis /usr/include/c++/10.1.0/bits/locale_classes.h:40, | |
depuis /usr/include/c++/10.1.0/bits/ios_base.h:41, | |
depuis /usr/include/c++/10.1.0/streambuf:41, | |
depuis /usr/include/c++/10.1.0/bits/streambuf_iterator.h:35, | |
depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/string_view:490:5: note: candidat : « template<class _CharT, class _Traits> constexpr bool std::operator==(std::basic_string_view<_CharT, _Traits>, std::basic_string_view<_CharT, _Traits>) » | |
490 | operator==(basic_string_view<_CharT, _Traits> __x, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/string_view:490:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « std::basic_string_view<_CharT, _Traits> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/string:55, | |
depuis /usr/include/c++/10.1.0/bits/locale_classes.h:40, | |
depuis /usr/include/c++/10.1.0/bits/ios_base.h:41, | |
depuis /usr/include/c++/10.1.0/streambuf:41, | |
depuis /usr/include/c++/10.1.0/bits/streambuf_iterator.h:35, | |
depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/basic_string.h:6153:5: note: candidat : « template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&) » | |
6153 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/basic_string.h:6153:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::__cxx11::basic_string<_CharT, _Traits, _Allocator> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/string:55, | |
depuis /usr/include/c++/10.1.0/bits/locale_classes.h:40, | |
depuis /usr/include/c++/10.1.0/bits/ios_base.h:41, | |
depuis /usr/include/c++/10.1.0/streambuf:41, | |
depuis /usr/include/c++/10.1.0/bits/streambuf_iterator.h:35, | |
depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/basic_string.h:6161:5: note: candidat : « template<class _CharT> typename __gnu_cxx::__enable_if<std::__is_char<_Tp>::__value, bool>::__type std::operator==(const std::__cxx11::basic_string<_CharT>&, const std::__cxx11::basic_string<_CharT>&) » | |
6161 | operator==(const basic_string<_CharT>& __lhs, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/basic_string.h:6161:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::__cxx11::basic_string<_CharT> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
make[3]: *** [CMakeFiles/server_lib.dir/build.make:96 : CMakeFiles/server_lib.dir/src/rooms/room_interface.cpp.o] Erreur 1 | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/ios_base.h:46, | |
depuis /usr/include/c++/10.1.0/streambuf:41, | |
depuis /usr/include/c++/10.1.0/bits/streambuf_iterator.h:35, | |
depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/system_error:342:3: note: candidat : « bool std::operator==(const std::error_code&, const std::error_code&) » | |
342 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/system_error:342:32: note: pas de conversion connue pour convertir l'argument 1 depuis « ww::room_interface » vers « const std::error_code& » | |
342 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | |
| ~~~~~~~~~~~~~~~~~~^~~~~ | |
/usr/include/c++/10.1.0/system_error:357:3: note: candidat : « bool std::operator==(const std::error_condition&, const std::error_condition&) » | |
357 | operator==(const error_condition& __lhs, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/system_error:357:37: note: pas de conversion connue pour convertir l'argument 1 depuis « ww::room_interface » vers « const std::error_condition& » | |
357 | operator==(const error_condition& __lhs, | |
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ | |
make[3]: *** Attente des tâches non terminées.... | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/iterator:66, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:36, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/streambuf_iterator.h:227:5: note: candidat : « template<class _CharT, class _Traits> bool std::operator==(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&) » | |
227 | operator==(const istreambuf_iterator<_CharT, _Traits>& __a, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/streambuf_iterator.h:227:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::istreambuf_iterator<_CharT, _Traits> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/tuple:39, | |
depuis /usr/include/c++/10.1.0/ranges:46, | |
depuis /usr/include/c++/10.1.0/bits/ranges_algobase.h:38, | |
depuis /usr/include/c++/10.1.0/bits/ranges_uninitialized.h:36, | |
depuis /usr/include/c++/10.1.0/memory:69, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:5, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/array:253:5: note: candidat : « template<class _Tp, long unsigned int _Nm> constexpr bool std::operator==(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&) » | |
253 | operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/array:253:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::array<_Tp, _Nm> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/unordered_map:47, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/core/configuration.hpp:8, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/room_interface.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:6, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/unordered_map.h:2090:5: note: candidat : « template<class _Key1, class _Tp1, class _Hash1, class _Pred1, class _Alloc1> bool std::operator==(const std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&) » | |
2090 | operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/unordered_map.h:2090:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/unordered_map:47, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/core/configuration.hpp:8, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/room_interface.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:6, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/unordered_map.h:2104:5: note: candidat : « template<class _Key1, class _Tp1, class _Hash1, class _Pred1, class _Alloc1> bool std::operator==(const std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&) » | |
2104 | operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/unordered_map.h:2104:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/vector:67, | |
depuis /usr/include/c++/10.1.0/functional:62, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/utils/factory.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:7, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/stl_vector.h:1892:5: note: candidat : « template<class _Tp, class _Alloc> bool std::operator==(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&) » | |
1892 | operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | |
| ^~~~~~~~ | |
/usr/include/c++/10.1.0/bits/stl_vector.h:1892:5: note: la déduction/substitution de l'argument du patron a échoué: | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/list:64, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/list.tcc:342:17: note: « ww::room_interface » n'est pas dérivé de « const std::vector<_Tp, _Alloc> » | |
342 | if (*__first == __value) | |
| ~~~~~~~~~^~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/stl_list.h:64, | |
depuis /usr/include/c++/10.1.0/list:63, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/ext/aligned_buffer.h: Dans l'instanciation de « struct __gnu_cxx::__aligned_membuf<ww::room_interface>::_Tp2 » : | |
/usr/include/c++/10.1.0/ext/aligned_buffer.h:56:33: requis par « struct __gnu_cxx::__aligned_membuf<ww::room_interface> » | |
/usr/include/c++/10.1.0/bits/stl_list.h:169:40: requis par « struct std::_List_node<ww::room_interface> » | |
/usr/include/c++/10.1.0/bits/list.tcc:109:14: requis par « std::__cxx11::list<_Tp, _Alloc>::iterator std::__cxx11::list<_Tp, _Alloc>::insert(std::__cxx11::list<_Tp, _Alloc>::const_iterator, const value_type&) [with _Tp = ww::room_interface; _Alloc = std::allocator<ww::room_interface>; std::__cxx11::list<_Tp, _Alloc>::iterator = std::__cxx11::list<ww::room_interface>::iterator; std::__cxx11::list<_Tp, _Alloc>::const_iterator = std::__cxx11::list<ww::room_interface>::const_iterator; std::__cxx11::list<_Tp, _Alloc>::value_type = ww::room_interface] » | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:22:55: requis depuis ici | |
/usr/include/c++/10.1.0/ext/aligned_buffer.h:54:25: erreur: ne peut déclarer le champ « __gnu_cxx::__aligned_membuf<ww::room_interface>::_Tp2::_M_t » comme étant de type abstrait « ww::room_interface » | |
54 | struct _Tp2 { _Tp _M_t; }; | |
| ^~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/ext/alloc_traits.h:34, | |
depuis /usr/include/c++/10.1.0/bits/stl_list.h:60, | |
depuis /usr/include/c++/10.1.0/list:63, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/alloc_traits.h: Dans l'instanciation de « static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(std::allocator_traits<std::allocator<_Up> >::allocator_type&, _Up*, _Args&& ...) [with _Up = ww::room_interface; _Args = {const ww::room_interface&}; _Tp = std::_List_node<ww::room_interface>; std::allocator_traits<std::allocator<_Up> >::allocator_type = std::allocator<std::_List_node<ww::room_interface> >] » : | |
/usr/include/c++/10.1.0/bits/stl_list.h:637:33: requis par « std::__cxx11::list<_Tp, _Alloc>::_Node* std::__cxx11::list<_Tp, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {const ww::room_interface&}; _Tp = ww::room_interface; _Alloc = std::allocator<ww::room_interface>; std::__cxx11::list<_Tp, _Alloc>::_Node = std::__cxx11::list<ww::room_interface>::_Node] » | |
/usr/include/c++/10.1.0/bits/list.tcc:108:36: requis par « std::__cxx11::list<_Tp, _Alloc>::iterator std::__cxx11::list<_Tp, _Alloc>::insert(std::__cxx11::list<_Tp, _Alloc>::const_iterator, const value_type&) [with _Tp = ww::room_interface; _Alloc = std::allocator<ww::room_interface>; std::__cxx11::list<_Tp, _Alloc>::iterator = std::__cxx11::list<ww::room_interface>::iterator; std::__cxx11::list<_Tp, _Alloc>::const_iterator = std::__cxx11::list<ww::room_interface>::const_iterator; std::__cxx11::list<_Tp, _Alloc>::value_type = ww::room_interface] » | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:22:55: requis depuis ici | |
/usr/include/c++/10.1.0/bits/alloc_traits.h:514:21: erreur: pas de fonction correspondant à l'appel « construct_at(ww::room_interface*&, const ww::room_interface&) » | |
514 | std::construct_at(__p, std::forward<_Args>(__args)...); | |
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
Dans le fichier inclus depuis /usr/include/c++/10.1.0/bits/alloc_traits.h:33, | |
depuis /usr/include/c++/10.1.0/ext/alloc_traits.h:34, | |
depuis /usr/include/c++/10.1.0/bits/stl_list.h:60, | |
depuis /usr/include/c++/10.1.0/list:63, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/include/rooms/server_rooms.hpp:4, | |
depuis /run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:1: | |
/usr/include/c++/10.1.0/bits/stl_construct.h:94:5: note: candidat : « template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) » | |
94 | construct_at(_Tp* __location, _Args&&... __args) | |
| ^~~~~~~~~~~~ | |
/usr/include/c++/10.1.0/bits/stl_construct.h:94:5: note: la déduction/substitution de l'argument du patron a échoué: | |
/usr/include/c++/10.1.0/bits/stl_construct.h: Dans la substitution de « template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = ww::room_interface; _Args = {const ww::room_interface&}] » : | |
/usr/include/c++/10.1.0/bits/alloc_traits.h:514:21: requis par « static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(std::allocator_traits<std::allocator<_Up> >::allocator_type&, _Up*, _Args&& ...) [with _Up = ww::room_interface; _Args = {const ww::room_interface&}; _Tp = std::_List_node<ww::room_interface>; std::allocator_traits<std::allocator<_Up> >::allocator_type = std::allocator<std::_List_node<ww::room_interface> >] » | |
/usr/include/c++/10.1.0/bits/stl_list.h:637:33: requis par « std::__cxx11::list<_Tp, _Alloc>::_Node* std::__cxx11::list<_Tp, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {const ww::room_interface&}; _Tp = ww::room_interface; _Alloc = std::allocator<ww::room_interface>; std::__cxx11::list<_Tp, _Alloc>::_Node = std::__cxx11::list<ww::room_interface>::_Node] » | |
/usr/include/c++/10.1.0/bits/list.tcc:108:36: requis par « std::__cxx11::list<_Tp, _Alloc>::iterator std::__cxx11::list<_Tp, _Alloc>::insert(std::__cxx11::list<_Tp, _Alloc>::const_iterator, const value_type&) [with _Tp = ww::room_interface; _Alloc = std::allocator<ww::room_interface>; std::__cxx11::list<_Tp, _Alloc>::iterator = std::__cxx11::list<ww::room_interface>::iterator; std::__cxx11::list<_Tp, _Alloc>::const_iterator = std::__cxx11::list<ww::room_interface>::const_iterator; std::__cxx11::list<_Tp, _Alloc>::value_type = ww::room_interface] » | |
/run/media/alexandre-gerault/Seagate Expansion Drive/Programming/C++/werewolf/server_lib/src/rooms/server_rooms.cpp:22:55: requis depuis ici | |
/usr/include/c++/10.1.0/bits/stl_construct.h:96:17: erreur: expression « new » invalide pour le type de classe abstraite « ww::room_interface » | |
96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
template<class Object, class... Args> | |
class factory { | |
public: | |
using Creator = std::function<std::unique_ptr<Object>(Args...)>; | |
void registers(std::string const &key, Creator const &creator) { | |
m_registry.emplace(key, creator); | |
} | |
Object make(std::string const &key, Args &&... args) const { | |
auto registry_iterator = m_registry.find(key); | |
if (registry_iterator != m_registry.end()) { | |
return (registry_iterator->second)(std::forward<Args>(args)...); | |
} | |
} | |
private: | |
std::unordered_map<std::string, Creator> m_registry; | |
}; | |
class server_rooms { | |
public: | |
server_rooms(); | |
template<class... Args> | |
void create_room(std::string const &type, Args &&... args) { | |
m_rooms.insert(m_rooms.end(), m_room_factory.make(type, args...)); | |
} | |
void delete_room(room_interface const &room); | |
void remove_room(room_interface const &room); | |
void restore_room(room_interface const &room); | |
std::list<room_interface> list_rooms() const; | |
private: | |
void initFactory(); | |
std::list<room_interface> m_rooms; | |
std::list<room_interface> m_removed_rooms; | |
factory<room_interface> m_room_factory; | |
}; | |
void server_rooms::initFactory() { | |
m_room_factory.registers("text_room", [](std::string name) { return std::make_unique<text_room>(); }); | |
m_room_factory.registers("voice_room", []() { return std::make_unique<voice_room>(); }); | |
} | |
class room_interface { | |
public: | |
room_interface() = default; | |
explicit room_interface(const std::string &name); | |
virtual void start() = 0; | |
private: | |
configuration m_config; | |
room_state m_state; | |
std::string m_name; | |
}; | |
int main(int argc, char *argv[]) { | |
server_rooms rooms; | |
rooms.create_room("text_room", "room name"); | |
/* | |
* Compile time error: returned abstract type "room_interface" is invalid... | |
* 22 | Object make(std::string const &key, Args &&... args) const { | |
* | ^~~~ | |
*/ | |
return 0; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In instantiation of function template specialization 'ww::server_rooms::create_room<char const (&)[10]>' no viable conversion from returned value of type 'std::unique_ptr<ww::room_interface, std::default_delete<ww::room_interface> >' to function return type 'ww::room_interface' | |
In instantiation of function template specialization 'ww::server_rooms::create_room<char const (&)[10]>' no viable conversion from returned value of type 'std::unique_ptr<ww::room_interface, std::default_delete<ww::room_interface> >' to function return type 'ww::room_interface' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment