In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::findMin(KDTree<std::tuple<_Elements ...>, ValueType>::Node*)':
/in/kdtree.hpp:281:57: error: 'min' was not declared in this scope
minimum = compareNode<DIM_CMP, std::less<>>(min, right_min);
^~~
/in/kdtree.hpp:281:57: note: suggested alternative:
In file included from /usr/include/c++/7/algorithm:62:0,
from /in/kdtree.hpp:11,
from /in/driver/main.cpp:8:
/usr/include/c++/7/bits/stl_algo.h:3456:5: note: 'std::min'
min(initializer_list<_Tp> __l, _Compare __comp)
^~~
In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::copyfrom(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, KDTree<std::tuple<_Elements ...>, ValueType>::Node*)':
/in/kdtree.hpp:404:28: error: 'node' was not declared in this scope
Node* newnode = new Node(node->key(), node->value(), parent);
^~~~
/in/kdtree.hpp:404:28: note: suggested alternative: 'Node'
Node* newnode = new Node(node->key(), node->value(), parent);
^~~~
Node
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::construct(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >&, int, int, KDTree<std::tuple<_Elements ...>, ValueType>::Node*)':
/in/kdtree.hpp:416:95: error: 'compareData' was not declared in this scope
std::nth_element(v.begin() + left, v.begin() + (left + right) / 2, v.begin() + right, compareData<DIM>);
^~~~~~~~~~~
/in/kdtree.hpp:416:95: note: suggested alternative: 'compareKey'
std::nth_element(v.begin() + left, v.begin() + (left + right) / 2, v.begin() + right, compareData<DIM>);
^~~~~~~~~~~
compareKey
/in/kdtree.hpp:416:111: error: expected primary-expression before ')' token
std::nth_element(v.begin() + left, v.begin() + (left + right) / 2, v.begin() + right, compareData<DIM>);
^
/in/kdtree.hpp: In constructor 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(std::vector<std::pair<std::tuple<_Elements ...>, ValueType> >)':
/in/kdtree.hpp:444:10: error: 'initialize' was not declared in this scope
root = initialize<0>(v, 0, static_cast<int>(treeSize) - 1, nullptr);
^~~~~~~~~~
/in/kdtree.hpp:444:10: note: suggested alternative: 'initstate'
root = initialize<0>(v, 0, static_cast<int>(treeSize) - 1, nullptr);
^~~~~~~~~~
initstate
/in/kdtree.hpp: In instantiation of '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:444:25: error: left operand of comma operator has no effect [-Werror=unused-value]
root = initialize<0>(v, 0, static_cast<int>(treeSize) - 1, nullptr);
~^~~
/in/kdtree.hpp:444:28: error: right operand of comma operator has no effect [-Werror=unused-value]
root = initialize<0>(v, 0, static_cast<int>(treeSize) - 1, nullptr);
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp:444:57: error: right operand of comma operator has no effect [-Werror=unused-value]
root = initialize<0>(v, 0, static_cast<int>(treeSize) - 1, nullptr);
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 0; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:385:5: error: control reaches end of non-void function [-Werror=return-type]
}
^
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 1; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:385:5: error: control reaches end of non-void function [-Werror=return-type]
}
^
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::erase(KDTree<std::tuple<_Elements ...>, ValueType>::Node*, const Key&) [with long unsigned int DIM = 2; ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:385:5: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1plus: all warnings being treated as errors