실행 실패 (제출 코드 컴파일 에러)
Main.cpp: In function ‘int main()’: Main.cpp:17:10: error: ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > <structured bindings>’ has incomplete type 17 | auto [i1, i2, lcs] = stk.top(); | ^~~~~~~~~~~~~ In file included from /usr/include/c++/11/deque:69, from /usr/include/c++/11/stack:60, from Main.cpp:2: /usr/include/c++/11/bits/deque.tcc: In instantiation of ‘std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::reference = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&]’: /usr/include/c++/11/bits/stl_stack.h:251:25: required from ‘decltype(auto) std::stack<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:15:14: required from here /usr/include/c++/11/bits/deque.tcc:168:48: error: invalid use of incomplete type ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 168 | != this->_M_impl._M_finish._M_last - 1) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/exception_ptr.h:43, from /usr/include/c++/11/exception:153, from /usr/include/c++/11/ios:39, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/type_traits:45:11: note: declaration of ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 45 | class tuple; | ^~~~~ /usr/include/c++/11/type_traits: In substitution of ‘template<class _Tp, class ... _Args> using __is_nothrow_constructible_impl = std::__bool_constant<__is_nothrow_constructible(_Tp)> [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Args = {int, int, const char (&)[1]}]’: /usr/include/c++/11/type_traits:1022:12: required from ‘struct std::is_nothrow_constructible<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int, int, const char (&)[1]>’ /usr/include/c++/11/bits/alloc_traits.h:513:57: required from ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/deque.tcc:170:30: required from ‘std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::reference = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&]’ /usr/include/c++/11/bits/stl_stack.h:251:25: required from ‘decltype(auto) std::stack<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:15:14: required from here /usr/include/c++/11/type_traits:1017:25: error: invalid use of incomplete type ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 1017 | = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/type_traits:45:11: note: declaration of ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 45 | class tuple; | ^~~~~ /usr/include/c++/11/type_traits: In instantiation of ‘struct std::is_nothrow_constructible<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int, int, const char (&)[1]>’: /usr/include/c++/11/bits/alloc_traits.h:513:57: required from ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/deque.tcc:170:30: required from ‘std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::reference = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&]’ /usr/include/c++/11/bits/stl_stack.h:251:25: required from ‘decltype(auto) std::stack<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:15:14: required from here /usr/include/c++/11/type_traits:1025:52: error: static assertion failed: template argument must be a complete class or an unbounded array 1025 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/type_traits:1025:52: note: ‘std::__is_complete_or_unbounded<std::__type_identity<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >((std::__type_identity<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >{}, std::__type_identity<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >()))’ evaluates to false In file included from /usr/include/c++/11/ext/alloc_traits.h:34, from /usr/include/c++/11/bits/basic_string.h:40, from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/bits/alloc_traits.h: In instantiation of ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’: /usr/include/c++/11/bits/deque.tcc:170:30: required from ‘std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::reference = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&]’ /usr/include/c++/11/bits/stl_stack.h:251:25: required from ‘decltype(auto) std::stack<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:15:14: required from here /usr/include/c++/11/bits/alloc_traits.h:513:64: error: ‘value’ is not a member of ‘std::is_nothrow_constructible<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int, int, const char (&)[1]>’ 513 | noexcept(std::is_nothrow_constructible<_Up, _Args...>::value) | ^~~~~ In file included from /usr/include/c++/11/deque:69, from /usr/include/c++/11/stack:60, from Main.cpp:2: /usr/include/c++/11/bits/deque.tcc: In instantiation of ‘std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::reference = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&]’: /usr/include/c++/11/bits/stl_stack.h:251:25: required from ‘decltype(auto) std::stack<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:15:14: required from here /usr/include/c++/11/bits/deque.tcc:173:39: error: cannot increment a pointer to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 173 | ++this->_M_impl._M_finish._M_cur; | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ In file included from /usr/include/c++/11/deque:67, from /usr/include/c++/11/stack:60, from Main.cpp:2: /usr/include/c++/11/bits/stl_deque.h: In instantiation of ‘void std::deque<_Tp, _Alloc>::_M_destroy_data(std::deque<_Tp, _Alloc>::iterator, std::deque<_Tp, _Alloc>::iterator, const std::allocator<_CharT>&) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::iterator = std::_Deque_base<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::iterator]’: /usr/include/c++/11/bits/stl_deque.h:1007:24: required from ‘std::deque<_Tp, _Alloc>::~deque() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_stack.h:99:11: required from here /usr/include/c++/11/bits/stl_deque.h:2048:14: error: invalid use of incomplete type ‘std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::value_type’ {aka ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’} 2048 | if (!__has_trivial_destructor(value_type)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/exception_ptr.h:43, from /usr/include/c++/11/exception:153, from /usr/include/c++/11/ios:39, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/type_traits:45:11: note: declaration of ‘std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::value_type’ {aka ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’} 45 | class tuple; | ^~~~~ In file included from /usr/include/c++/11/ext/alloc_traits.h:34, from /usr/include/c++/11/bits/basic_string.h:40, from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/bits/alloc_traits.h: In instantiation of ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’: /usr/include/c++/11/bits/deque.tcc:170:30: required from ‘std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::reference = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&]’ /usr/include/c++/11/bits/stl_stack.h:251:25: required from ‘decltype(auto) std::stack<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:15:14: required from here /usr/include/c++/11/bits/alloc_traits.h:518:28: error: no matching function for call to ‘construct_at(std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >*&, int, int, const char [1])’ 518 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/char_traits.h:39, from /usr/include/c++/11/ios:40, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/bits/stl_construct.h:94:5: note: candidate: ‘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++/11/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_construct.h: In substitution of ‘template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Args = {int, int, const char (&)[1]}]’: /usr/include/c++/11/bits/alloc_traits.h:518:21: required from ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/deque.tcc:170:30: required from ‘std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::deque<_Tp, _Alloc>::reference = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&]’ /usr/include/c++/11/bits/stl_stack.h:251:25: required from ‘decltype(auto) std::stack<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {int, int, const char (&)[1]}; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:15:14: required from here /usr/include/c++/11/bits/stl_construct.h:96:17: error: invalid use of incomplete type ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/exception_ptr.h:43, from /usr/include/c++/11/exception:153, from /usr/include/c++/11/ios:39, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/type_traits:45:11: note: declaration of ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 45 | class tuple; | ^~~~~ In file included from /usr/include/c++/11/deque:67, from /usr/include/c++/11/stack:60, from Main.cpp:2: /usr/include/c++/11/bits/stl_deque.h: In instantiation of ‘void std::deque<_Tp, _Alloc>::pop_back() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’: /usr/include/c++/11/bits/stl_stack.h:275:12: required from ‘void std::stack<_Tp, _Sequence>::pop() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:18:12: required from here /usr/include/c++/11/bits/stl_deque.h:1561:39: error: cannot decrement a pointer to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 1561 | --this->_M_impl._M_finish._M_cur; | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/exception_ptr.h:43, from /usr/include/c++/11/exception:153, from /usr/include/c++/11/ios:39, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/type_traits: In instantiation of ‘struct std::is_nothrow_destructible<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >’: /usr/include/c++/11/bits/alloc_traits.h:532:41: required from ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::destroy(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*) [with _Up = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_deque.h:1562:28: required from ‘void std::deque<_Tp, _Alloc>::pop_back() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_stack.h:275:12: required from ‘void std::stack<_Tp, _Sequence>::pop() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:18:12: required from here /usr/include/c++/11/type_traits:939:52: error: static assertion failed: template argument must be a complete class or an unbounded array 939 | static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/type_traits:939:52: note: ‘std::__is_complete_or_unbounded<std::__type_identity<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >((std::__type_identity<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >{}, std::__type_identity<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >()))’ evaluates to false In file included from /usr/include/c++/11/deque:67, from /usr/include/c++/11/stack:60, from Main.cpp:2: /usr/include/c++/11/bits/stl_deque.h: In instantiation of ‘void std::_Deque_base<_Tp, _Alloc>::_M_initialize_map(std::size_t) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::size_t = long unsigned int]’: /usr/include/c++/11/bits/stl_deque.h:439:9: required from ‘std::_Deque_base<_Tp, _Alloc>::_Deque_base() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_deque.h:834:7: required from ‘std::stack<_Tp, _Sequence>::stack() [with _Seq = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >; _Requires = void; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:14:34: required from here /usr/include/c++/11/bits/stl_deque.h:620:69: error: invalid application of ‘sizeof’ to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 620 | const size_t __num_nodes = (__num_elements / __deque_buf_size(sizeof(_Tp)) | ^~~~~~~~~~~ /usr/include/c++/11/bits/stl_deque.h:651:60: error: invalid application of ‘sizeof’ to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 651 | % __deque_buf_size(sizeof(_Tp))); | ^~~~~~~~~~~ /usr/include/c++/11/bits/stl_deque.h: In instantiation of ‘void std::_Deque_base<_Tp, _Alloc>::_M_deallocate_node(std::_Deque_base<_Tp, _Alloc>::_Ptr) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::_Deque_base<_Tp, _Alloc>::_Ptr = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >*]’: /usr/include/c++/11/bits/stl_deque.h:679:2: required from ‘void std::_Deque_base<_Tp, _Alloc>::_M_destroy_nodes(std::_Deque_base<_Tp, _Alloc>::_Map_pointer, std::_Deque_base<_Tp, _Alloc>::_Map_pointer) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::_Deque_base<_Tp, _Alloc>::_Map_pointer = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >**]’ /usr/include/c++/11/bits/stl_deque.h:601:4: required from ‘std::_Deque_base<_Tp, _Alloc>::~_Deque_base() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_deque.h:834:7: required from ‘std::stack<_Tp, _Sequence>::stack() [with _Seq = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >; _Requires = void; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:14:34: required from here /usr/include/c++/11/bits/stl_deque.h:569:60: error: invalid application of ‘sizeof’ to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 569 | _Traits::deallocate(_M_impl, __p, __deque_buf_size(sizeof(_Tp))); | ^~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/char_traits.h:39, from /usr/include/c++/11/ios:40, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/bits/stl_construct.h: In instantiation of ‘constexpr void std::destroy_at(_Tp*) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’: /usr/include/c++/11/bits/alloc_traits.h:537:19: required from ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::destroy(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*) [with _Up = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_deque.h:1562:28: required from ‘void std::deque<_Tp, _Alloc>::pop_back() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_stack.h:275:12: required from ‘void std::stack<_Tp, _Sequence>::pop() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:18:12: required from here /usr/include/c++/11/bits/stl_construct.h:88:22: error: invalid use of incomplete type ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 88 | __location->~_Tp(); | ~~~~~~~~~~~~~^~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/exception_ptr.h:43, from /usr/include/c++/11/exception:153, from /usr/include/c++/11/ios:39, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/type_traits:45:11: note: declaration of ‘class std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 45 | class tuple; | ^~~~~ In file included from /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h:33, from /usr/include/c++/11/bits/allocator.h:46, from /usr/include/c++/11/string:41, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/ostream:38, from /usr/include/c++/11/iostream:39, from Main.cpp:1: /usr/include/c++/11/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::deallocate(_Tp*, __gnu_cxx::new_allocator<_Tp>::size_type) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; __gnu_cxx::new_allocator<_Tp>::size_type = long unsigned int]’: /usr/include/c++/11/bits/allocator.h:199:35: required from ‘constexpr void std::allocator< <template-parameter-1-1> >::deallocate(_Tp*, std::size_t) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::size_t = long unsigned int]’ /usr/include/c++/11/bits/alloc_traits.h:496:23: required from ‘static constexpr void std::allocator_traits<std::allocator<_CharT> >::deallocate(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, std::allocator_traits<std::allocator<_CharT> >::pointer, std::allocator_traits<std::allocator<_CharT> >::size_type) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::allocator_traits<std::allocator<_CharT> >::pointer = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >*; std::allocator_traits<std::allocator<_CharT> >::size_type = long unsigned int]’ /usr/include/c++/11/bits/stl_deque.h:569:21: required from ‘void std::_Deque_base<_Tp, _Alloc>::_M_deallocate_node(std::_Deque_base<_Tp, _Alloc>::_Ptr) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::_Deque_base<_Tp, _Alloc>::_Ptr = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >*]’ /usr/include/c++/11/bits/stl_deque.h:679:2: required from ‘void std::_Deque_base<_Tp, _Alloc>::_M_destroy_nodes(std::_Deque_base<_Tp, _Alloc>::_Map_pointer, std::_Deque_base<_Tp, _Alloc>::_Map_pointer) [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >; std::_Deque_base<_Tp, _Alloc>::_Map_pointer = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >**]’ /usr/include/c++/11/bits/stl_deque.h:601:4: required from ‘std::_Deque_base<_Tp, _Alloc>::~_Deque_base() [with _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Alloc = std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]’ /usr/include/c++/11/bits/stl_deque.h:834:7: required from ‘std::stack<_Tp, _Sequence>::stack() [with _Seq = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >; _Requires = void; _Tp = std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >; _Sequence = std::deque<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]’ Main.cpp:14:34: required from here /usr/include/c++/11/ext/new_allocator.h:135:13: error: invalid application of ‘__alignof__’ to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 135 | if (alignof(_Tp) > __STDCPP_DEFAULT_NEW_ALIGNMENT__) | ^~~~~~~~~~~~ /usr/include/c++/11/ext/new_allocator.h:139:37: error: invalid application of ‘sizeof’ to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 139 | __t * sizeof(_Tp), | ^~~~~~~~~~~ /usr/include/c++/11/ext/new_allocator.h:141:48: error: invalid application of ‘__alignof__’ to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 141 | std::align_val_t(alignof(_Tp))); | ^~~~~~~~~~~~ /usr/include/c++/11/ext/new_allocator.h:147:35: error: invalid application of ‘sizeof’ to incomplete type ‘std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >’ 147 | , __t * sizeof(_Tp) | ^~~~~~~~~~~
정답 개수:
-
틀린 개수:
-
실행 실패 개수:
-
비공개 코드입니다. 코드 작성자만 볼 수 있습니다.
반례를 발견하지 못했습니다.