In file included from /in/Compile/Map_compile_check.cpp:5:0:
/in/Map.h: In member function 'Map<Key_type, Value_type, Key_compare>::Iterator Map<Key_type, Value_type, Key_compare>::find(const K&) const':
/in/Map.h:161:24: error: there are no arguments to 'Value_type' that depend on a template parameter, so a declaration of 'Value_type' must be available [-fpermissive]
return elts.find({k, Value_type()});
^~~~~~~~~~
/in/Map.h:161:24: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/in/Map.h: In member function 'V& Map<Key_type, Value_type, Key_compare>::operator[](const K&)':
/in/Map.h:185:26: error: there are no arguments to 'Value_type' that depend on a template parameter, so a declaration of 'Value_type' must be available [-fpermissive]
it = elts.insert({k, Value_type()});
^~~~~~~~~~
/in/Map.h: In instantiation of 'Map<Key_type, Value_type, Key_compare>::Iterator Map<Key_type, Value_type, Key_compare>::begin() const [with Key_type = std::__cxx11::basic_string<char>; Value_type = int; Key_compare = std::less<std::__cxx11::basic_string<char> >; Map<Key_type, Value_type, Key_compare>::Iterator = BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::Iterator]':
/in/Compile/Map_compile_check.cpp:68:24: required from here
/in/Map.h:211:15: error: cannot convert 'BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::begin' from type 'BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::Iterator (BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::)() const' to type 'Map<std::__cxx11::basic_string<char>, int>::Iterator {aka BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::Iterator}'
return elts.begin;
^~~~~
/in/Map.h: In instantiation of 'Map<Key_type, Value_type, Key_compare>::Iterator Map<Key_type, Value_type, Key_compare>::begin() const [with Key_type = Duck; Value_type = std::__cxx11::basic_string<char>; Key_compare = DuckWealthLess; Map<Key_type, Value_type, Key_compare>::Iterator = BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::Iterator]':
/in/Compile/Map_compile_check.cpp:69:34: required from here
/in/Map.h:211:15: error: cannot convert 'BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::begin' from type 'BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::Iterator (BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::)() const' to type 'Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::Iterator {aka BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::Iterator}'
/in/Map.h: In instantiation of 'Map<Key_type, Value_type, Key_compare>::Iterator Map<Key_type, Value_type, Key_compare>::find(const K&) const [with Key_type = std::__cxx11::basic_string<char>; Value_type = int; Key_compare = std::less<std::__cxx11::basic_string<char> >; Map<Key_type, Value_type, Key_compare>::Iterator = BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::Iterator]':
/in/Compile/Map_compile_check.cpp:74:25: required from here
/in/Map.h:161:34: error: 'Value_type' was not declared in this scope
return elts.find({k, Value_type()});
~~~~~~~~~~^~
/in/Map.h:161:34: note: suggested alternative: 'Pair_type'
return elts.find({k, Value_type()});
~~~~~~~~~~^~
Pair_type
/in/Map.h:161:37: error: no matching function for call to 'BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::find(<brace-enclosed initializer list>) const'
return elts.find({k, Value_type()});
^
In file included from /in/Map.h:19:0,
from /in/Compile/Map_compile_check.cpp:5:
/in/BinarySearchTree.h:276:12: note: candidate: BinarySearchTree<T, Compare>::Iterator BinarySearchTree<T, Compare>::find(const T&) const [with T = std::pair<std::__cxx11::basic_string<char>, int>; Compare = Map<std::__cxx11::basic_string<char>, int>::PairComp]
Iterator find(const T &query) const {
^~~~
/in/BinarySearchTree.h:276:12: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::pair<std::__cxx11::basic_string<char>, int>&'
In file included from /in/Compile/Map_compile_check.cpp:5:0:
/in/Map.h: In instantiation of 'Map<Key_type, Value_type, Key_compare>::Iterator Map<Key_type, Value_type, Key_compare>::find(const K&) const [with Key_type = Duck; Value_type = std::__cxx11::basic_string<char>; Key_compare = DuckWealthLess; Map<Key_type, Value_type, Key_compare>::Iterator = BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::Iterator]':
/in/Compile/Map_compile_check.cpp:75:39: required from here
/in/Map.h:161:34: error: 'Value_type' was not declared in this scope
return elts.find({k, Value_type()});
~~~~~~~~~~^~
/in/Map.h:161:34: note: suggested alternative: 'Pair_type'
return elts.find({k, Value_type()});
~~~~~~~~~~^~
Pair_type
/in/Map.h:161:37: error: no matching function for call to 'BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::find(<brace-enclosed initializer list>) const'
return elts.find({k, Value_type()});
^
In file included from /in/Map.h:19:0,
from /in/Compile/Map_compile_check.cpp:5:
/in/BinarySearchTree.h:276:12: note: candidate: BinarySearchTree<T, Compare>::Iterator BinarySearchTree<T, Compare>::find(const T&) const [with T = std::pair<Duck, std::__cxx11::basic_string<char> >; Compare = Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp]
Iterator find(const T &query) const {
^~~~
/in/BinarySearchTree.h:276:12: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::pair<Duck, std::__cxx11::basic_string<char> >&'
In file included from /in/Compile/Map_compile_check.cpp:5:0:
/in/Map.h: In instantiation of 'V& Map<Key_type, Value_type, Key_compare>::operator[](const K&) [with Key_type = std::__cxx11::basic_string<char>; Value_type = int; Key_compare = std::less<std::__cxx11::basic_string<char> >]':
/in/Compile/Map_compile_check.cpp:85:21: required from here
/in/Map.h:185:36: error: 'Value_type' was not declared in this scope
it = elts.insert({k, Value_type()});
~~~~~~~~~~^~
/in/Map.h:185:36: note: suggested alternative: 'Pair_type'
it = elts.insert({k, Value_type()});
~~~~~~~~~~^~
Pair_type
/in/Map.h:185:8: error: no matching function for call to 'BinarySearchTree<std::pair<std::__cxx11::basic_string<char>, int>, Map<std::__cxx11::basic_string<char>, int>::PairComp>::insert(<brace-enclosed initializer list>)'
it = elts.insert({k, Value_type()});
In file included from /in/Map.h:19:0,
from /in/Compile/Map_compile_check.cpp:5:
/in/BinarySearchTree.h:284:12: note: candidate: BinarySearchTree<T, Compare>::Iterator BinarySearchTree<T, Compare>::insert(const T&) [with T = std::pair<std::__cxx11::basic_string<char>, int>; Compare = Map<std::__cxx11::basic_string<char>, int>::PairComp]
Iterator insert(const T &item) {
^~~~~~
/in/BinarySearchTree.h:284:12: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::pair<std::__cxx11::basic_string<char>, int>&'
In file included from /in/Compile/Map_compile_check.cpp:5:0:
/in/Map.h: In instantiation of 'V& Map<Key_type, Value_type, Key_compare>::operator[](const K&) [with Key_type = Duck; Value_type = std::__cxx11::basic_string<char>; Key_compare = DuckWealthLess]':
/in/Compile/Map_compile_check.cpp:87:35: required from here
/in/Map.h:185:36: error: 'Value_type' was not declared in this scope
it = elts.insert({k, Value_type()});
~~~~~~~~~~^~
/in/Map.h:185:36: note: suggested alternative: 'Pair_type'
it = elts.insert({k, Value_type()});
~~~~~~~~~~^~
Pair_type
/in/Map.h:185:8: error: no matching function for call to 'BinarySearchTree<std::pair<Duck, std::__cxx11::basic_string<char> >, Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp>::insert(<brace-enclosed initializer list>)'
it = elts.insert({k, Value_type()});
In file included from /in/Map.h:19:0,
from /in/Compile/Map_compile_check.cpp:5:
/in/BinarySearchTree.h:284:12: note: candidate: BinarySearchTree<T, Compare>::Iterator BinarySearchTree<T, Compare>::insert(const T&) [with T = std::pair<Duck, std::__cxx11::basic_string<char> >; Compare = Map<Duck, std::__cxx11::basic_string<char>, DuckWealthLess>::PairComp]
Iterator insert(const T &item) {
^~~~~~
/in/BinarySearchTree.h:284:12: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::pair<Duck, std::__cxx11::basic_string<char> >&'
/in/Compile/Makefile:32: recipe for target 'Map_compile_check.exe' failed
make: *** [Map_compile_check.exe] Error 1