In file included from /in/driver/main.cpp:8:0:
/in/kdtree.hpp:456:26: error: expected ',' or '...' before 'this'
Node* deepCopy(Node* this, Node* that, Node* parent)
^~~~
/in/kdtree.hpp: In member function 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::deepCopy(KDTree<std::tuple<_Elements ...>, ValueType>::Node*)':
/in/kdtree.hpp:458:14: error: 'that' was not declared in this scope
if (!that)
^~~~
/in/kdtree.hpp:458:14: note: suggested alternative: 'this'
if (!that)
^~~~
this
/in/kdtree.hpp:460:25: error: 'that' was not declared in this scope
this = new Node{that->key(), that->value(), parent};
^~~~
/in/kdtree.hpp:460:25: note: suggested alternative: 'this'
this = new Node{that->key(), that->value(), parent};
^~~~
this
/in/kdtree.hpp:460:53: error: 'parent' was not declared in this scope
this = new Node{that->key(), that->value(), parent};
^~~~~~
/in/kdtree.hpp:460:53: note: suggested alternative: 'popen'
this = new Node{that->key(), that->value(), parent};
^~~~~~
popen
/in/kdtree.hpp:461:43: error: 'tmp' was not declared in this scope
this->left = deepCopy(that->left, tmp);
^~~
/in/kdtree.hpp:461:43: note: suggested alternative: 'tm'
this->left = deepCopy(that->left, tmp);
^~~
tm
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(const KDTree<std::tuple<_Elements ...>, ValueType>&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/driver/main.cpp:145:69: required from here
/in/kdtree.hpp:492:24: error: no matching function for call to 'KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::deepCopy(KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node*&, KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node* const&, std::nullptr_t)'
root = deepCopy(root, that.root, nullptr);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp:456:11: note: candidate: KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::deepCopy(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]
Node* deepCopy(Node* this, Node* that, Node* parent)
^~~~~~~~
/in/kdtree.hpp:456:11: note: candidate expects 1 argument, 3 provided
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>& KDTree<std::tuple<_Elements ...>, ValueType>::operator=(const KDTree<std::tuple<_Elements ...>, ValueType>&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/driver/main.cpp:146:23: required from here
/in/kdtree.hpp:503:24: error: no matching function for call to 'KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::deepCopy(KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node*&, KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node* const&, std::nullptr_t)'
root = deepCopy(root, that.root, nullptr);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp:456:11: note: candidate: KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::deepCopy(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]
Node* deepCopy(Node* this, Node* that, Node* parent)
^~~~~~~~
/in/kdtree.hpp:456:11: note: candidate expects 1 argument, 3 provided
/in/kdtree.hpp: In instantiation of 'KDTree<std::tuple<_Elements ...>, ValueType>::Node* KDTree<std::tuple<_Elements ...>, ValueType>::deepCopy(KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]':
/in/kdtree.hpp:492:24: required from 'KDTree<std::tuple<_Elements ...>, ValueType>::KDTree(const KDTree<std::tuple<_Elements ...>, ValueType>&) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}]'
/in/driver/main.cpp:145:69: required from here
/in/kdtree.hpp:460:16: error: no matching function for call to 'KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node::Node(<brace-enclosed initializer list>)'
this = new Node{that->key(), that->value(), parent};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/in/kdtree.hpp:38:9: note: candidate: KDTree<std::tuple<_Elements ...>, ValueType>::Node::Node(const Key&, const Value&, KDTree<std::tuple<_Elements ...>, ValueType>::Node*) [with ValueType = std::__cxx11::basic_string<char>; KeyTypes = {int, int, int}; KDTree<std::tuple<_Elements ...>, ValueType>::Key = std::tuple<int, int, int>; KDTree<std::tuple<_Elements ...>, ValueType>::Value = std::__cxx11::basic_string<char>]
Node(const Key &key, const Value &value, Node *parent) : data(key, value), parent(parent) {}
^~~~
/in/kdtree.hpp:38:9: note: conversion of argument 1 would be ill-formed:
/in/kdtree.hpp:32:12: note: candidate: KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node::Node(const KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node&)
struct Node {
^~~~
/in/kdtree.hpp:32:12: note: candidate expects 1 argument, 3 provided
/in/kdtree.hpp:32:12: note: candidate: KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node::Node(KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node&&)
/in/kdtree.hpp:32:12: note: candidate expects 1 argument, 3 provided
/in/kdtree.hpp:461:15: error: 'class KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >' has no member named 'left'
this->left = deepCopy(that->left, tmp);
~~~~~~^~~~
/in/kdtree.hpp:462:15: error: 'class KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >' has no member named 'right'
this->right = deepCopy(that->right, tmp);
~~~~~~^~~~~
/in/kdtree.hpp:463:16: error: cannot convert 'KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >*' to 'KDTree<std::tuple<int, int, int>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Node*' in return
return this;
^~~~