Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ====================[ Build | lab2 | Debug ]====================================
- /snap/clion/206/bin/cmake/linux/bin/cmake --build /home/durachok/workspace/cpp-nsu-labs/lab2/cmake-build-debug --target lab2 -j 9
- [1/3] Building CXX object CMakeFiles/corelib.dir/strategies/StrategyFactory.cpp.o
- FAILED: CMakeFiles/corelib.dir/strategies/StrategyFactory.cpp.o
- /usr/bin/c++ -g -Wall -Wextra -pedantic -Werror -Wold-style-cast -std=gnu++17 -MD -MT CMakeFiles/corelib.dir/strategies/StrategyFactory.cpp.o -MF CMakeFiles/corelib.dir/strategies/StrategyFactory.cpp.o.d -o CMakeFiles/corelib.dir/strategies/StrategyFactory.cpp.o -c /home/durachok/workspace/cpp-nsu-labs/lab2/strategies/StrategyFactory.cpp
- In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/c++allocator.h:33,
- from /usr/include/c++/11/bits/allocator.h:46,
- from /usr/include/c++/11/memory:64,
- from /home/durachok/workspace/cpp-nsu-labs/lab2/strategies/StrategyFactory.cpp:1:
- /usr/include/c++/11/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _Args = {const std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<Strategies::Strategy, std::default_delete<Strategies::Strategy> > >&}; _Tp = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >]’:
- /usr/include/c++/11/bits/alloc_traits.h:516:17: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _Args = {const std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<Strategies::Strategy, std::default_delete<Strategies::Strategy> > >&}; _Tp = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > > >]’
- /usr/include/c++/11/bits/stl_tree.h:595:32: required from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_construct_node(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, _Args&& ...) [with _Args = {const std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<Strategies::Strategy, std::default_delete<Strategies::Strategy> > >&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >*]’
- /usr/include/c++/11/bits/stl_tree.h:612:21: required from ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {const std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<Strategies::Strategy, std::default_delete<Strategies::Strategy> > >&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >*]’
- /usr/include/c++/11/bits/stl_tree.h:529:32: required from ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Alloc_node::operator()(_Arg&&) const [with _Arg = const std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >&; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >*]’
- /usr/include/c++/11/bits/stl_tree.h:1784:29: required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr, std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr, _Arg&&, _NodeGen&) [with _Arg = const std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >&; _NodeGen = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > > >::_Alloc_node; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > > >::iterator; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr = std::_Rb_tree_node_base*]’
- /usr/include/c++/11/bits/stl_tree.h:2237:19: required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique_(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Arg&&, _NodeGen&) [with _Arg = const std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >&; _NodeGen = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > > >::_Alloc_node; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > > >::iterator; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > > >::const_iterator]’
- /usr/include/c++/11/bits/stl_tree.h:1102:23: required from ‘std::__enable_if_t<std::is_same<_Val, typename std::iterator_traits<_InputIterator>::value_type>::value> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_range_unique(_InputIterator, _InputIterator) [with _InputIterator = const std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >*; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::__enable_if_t<std::is_same<_Val, typename std::iterator_traits<_InputIterator>::value_type>::value> = void; typename std::iterator_traits<_InputIterator>::value_type = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> >]’
- /usr/include/c++/11/bits/stl_map.h:232:36: required from ‘std::map<_Key, _Tp, _Compare, _Alloc>::map(std::initializer_list<std::pair<const _Key, _Tp> >, const _Compare&, const allocator_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::unique_ptr<Strategies::Strategy>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >; std::map<_Key, _Tp, _Compare, _Alloc>::allocator_type = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<Strategies::Strategy> > >]’
- /home/durachok/workspace/cpp-nsu-labs/lab2/strategies/StrategyFactory.cpp:15:3: required from here
- /usr/include/c++/11/ext/new_allocator.h:162:11: error: use of deleted function ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = std::unique_ptr<Strategies::Strategy>]’
- 162 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
- from /usr/include/c++/11/memory:63,
- from /home/durachok/workspace/cpp-nsu-labs/lab2/strategies/StrategyFactory.cpp:1:
- /usr/include/c++/11/bits/stl_pair.h:314:17: note: ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = std::unique_ptr<Strategies::Strategy>]’ is implicitly deleted because the default definition would be ill-formed:
- 314 | constexpr pair(const pair&) = default; ///< Copy constructor
- | ^~~~
- /usr/include/c++/11/bits/stl_pair.h:314:17: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = Strategies::Strategy; _Dp = std::default_delete<Strategies::Strategy>]’
- In file included from /usr/include/c++/11/memory:76,
- from /home/durachok/workspace/cpp-nsu-labs/lab2/strategies/StrategyFactory.cpp:1:
- /usr/include/c++/11/bits/unique_ptr.h:468:7: note: declared here
- 468 | unique_ptr(const unique_ptr&) = delete;
- | ^~~~~~~~~~
- [2/3] Building CXX object CMakeFiles/lab2.dir/main.cpp.o
- ninja: build stopped: subcommand failed.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement