Skip to content

Compiling error #5

Description

@IacopoOrtis

shout-out concerning an error compiling on MacOS Catalina v. 10.15.7

I will try to solve this and report here.

Follows complete make output:
c++ -MMD -MP -I. -std=c++14 -Wextra -Wpedantic -Wall -O3 -c main.cpp -o main.o In file included from main.cpp:16: In file included from ./algorithms/matching.h:14: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:877:54: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' __annotate_contiguous_container(data(), data() + capacity(), ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:551:9: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::__annotate_delete' requested here __annotate_delete(); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:968:5: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) ~unordered_map() { ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ In file included from main.cpp:16: In file included from ./algorithms/matching.h:14: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:372:52: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' {return static_cast<size_type>(__end_cap() - __begin_);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:659:25: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::capacity' requested here {return __base::capacity();} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:877:56: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::capacity' requested here __annotate_contiguous_container(data(), data() + capacity(), ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:551:9: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::__annotate_delete' requested here __annotate_delete(); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ In file included from main.cpp:16: In file included from ./algorithms/matching.h:14: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:426:64: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' __alloc_traits::destroy(__alloc(), _VSTD::__to_address(--__soon_to_be_end)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:369:29: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::__destruct_at_end' requested here void clear() _NOEXCEPT {__destruct_at_end(__begin_);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:463:9: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::clear' requested here clear(); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:549:5: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~__vector_base' requested here ~vector() ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ In file included from main.cpp:10: In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:643: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1872:55: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' {_VSTD::__libcpp_deallocate((void*)__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1594:14: note: in instantiation of member function 'std::__1::allocator<std::__1::array<double, 2> >::deallocate' requested here {__a.deallocate(__p, __n);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:464:25: note: in instantiation of member function 'std::__1::allocator_traits<std::__1::allocator<std::__1::array<double, 2> > >::deallocate' requested here __alloc_traits::deallocate(__alloc(), __begin_, capacity()); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:549:5: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~__vector_base' requested here ~vector() ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ 4 errors generated. make: *** [main.o] Error 1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions