Record Detail

Compile Error

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;
                ^~~~

Information

Submit By
Type
Submission
Homework
Project 3: K-D tree
Language
C++
Submit At
2022-11-30 23:26:56
Judged At
2022-11-30 23:26:56
Judged By
Score
0
Total Time
0ms
Peak Memory
0 Bytes