In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::constructor(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >, KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:410:34: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/driver/main.cpp:43:57: required from here
/in/kdtree.hpp:371:14: error: no matching function for call to 'std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > >::at(__gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >&)'
Data medianData = v.at(median);
^~~~~~~~~~
In file included from /usr/include/c++/7/vector:64:0,
from /in/kdtree.hpp:2,
from /in/driver/main.cpp:8:
/usr/include/c++/7/bits/stl_vector.h:844:7: note: candidate: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::at(std::vector<_Tp, _Alloc>::size_type) [with _Tp = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > >; std::vector<_Tp, _Alloc>::reference = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
at(size_type __n)
^~
/usr/include/c++/7/bits/stl_vector.h:844:7: note: no known conversion for argument 1 from '__gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >' to 'std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > >::size_type {aka long unsigned int}'
/usr/include/c++/7/bits/stl_vector.h:862:7: note: candidate: std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::at(std::vector<_Tp, _Alloc>::size_type) const [with _Tp = std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > >; std::vector<_Tp, _Alloc>::const_reference = const std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]
at(size_type __n) const
^~
/usr/include/c++/7/bits/stl_vector.h:862:7: note: no known conversion for argument 1 from '__gnu_cxx::__normal_iterator<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> >*, std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > > >' to 'std::vector<std::pair<std::tuple<int, int, int>, std::__cxx11::basic_string<char> > >::size_type {aka long unsigned int}'