divyang4481 / mipt-hw

Automatically exported from code.google.com/p/mipt-hw
0 stars 0 forks source link

task11 RBT (Таташина) #271

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
/tatashina_anna/task11_RBT/

Original issue reported on code.google.com by anna.tat...@gmail.com on 27 May 2013 at 1:52

GoogleCodeExporter commented 9 years ago
0. Warnings:
rbt.h: In constructor ‘TRBTree<T>::TNode::TNode() [with T = int]’:
rbt.h:346:   instantiated from ‘TRBTree<T>::TRBTree() [with T = int]’
main.cpp:40:   instantiated from here
rbt.h:16: warning: ‘TRBTree<int>::TNode::right’ will be initialized after
rbt.h:14: warning:   ‘TRBTree<int>::TNode* TRBTree<int>::TNode::parent’
rbt.h:18: warning:   when initialized here
rbt.h: In constructor ‘TRBTree<T>::TNode::TNode(T) [with T = int]’:
rbt.h:401:   instantiated from ‘std::pair<TRBTree<T>::iterator, bool> 
TRBTree<T>::insert(T) [with T = int]’
main.cpp:42:   instantiated from here
rbt.h:16: warning: ‘TRBTree<int>::TNode::right’ will be initialized after
rbt.h:14: warning:   ‘TRBTree<int>::TNode* TRBTree<int>::TNode::parent’
rbt.h:22: warning:   when initialized here

1. Пишу свой тест:
static void Test3() {
    typedef TRBTree<TFoo> TTreeFoo;

    TTreeFoo a;
    for (int i = 0; i < 100; ++i)
        a.insert(TFoo(i));

    TTreeFoo b = a;
    for (int i = 0; i < 100; ++i)
        b.insert(TFoo(i));

    a.swap(b);

    for (TTreeFoo::iterator iter = a.begin(); iter != a.end(); ++iter)
        cout << *iter << endl;
}
Не собирается:
main.cpp: In function ‘void Test3()’:
main.cpp:79: error: no match for ‘operator<<’ in ‘std::cout << iter. 
TRBTree<T>::iterator::operator* [with T = TFoo]()’
/usr/include/c++/4.2.1/ostream:112: note: candidates are: 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(std::basic_ostream<_CharT, _Traits>& 
(*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:121: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(std::basic_ios<_CharT, _Traits>& 
(*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:131: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, 
_Traits = std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:169: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(long int) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:177: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(long unsigned int) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:185: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(bool) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/bits/ostream.tcc:92: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(short int) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:196: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(short unsigned int) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/bits/ostream.tcc:106: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(int) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:207: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(unsigned int) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:220: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(long long int) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:228: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(long long unsigned int) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:237: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(double) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:245: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(float) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:253: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(long double) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/ostream:261: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(const void*) [with _CharT = char, _Traits = 
std::char_traits<char>]
/usr/include/c++/4.2.1/bits/ostream.tcc:120: note:                 
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, 
_Traits>::operator<<(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = 
char, _Traits = std::char_traits<char>]
rbt.h: In member function ‘std::pair<TRBTree<T>::iterator, bool> 
TRBTree<T>::insert(T) [with T = TFoo]’:
main.cpp:70:   instantiated from here
rbt.h:409: error: no match for ‘operator==’ in 
‘node->TRBTree<TFoo>::TNode::key == x->TRBTree<TFoo>::TNode::key’
rbt.h: In constructor ‘TRBTree<T>::TNode::TNode() [with T = int]’:
rbt.h:346:   instantiated from ‘TRBTree<T>::TRBTree() [with T = int]’
main.cpp:40:   instantiated from here
rbt.h:16: warning: ‘TRBTree<int>::TNode::right’ will be initialized after
rbt.h:14: warning:   ‘TRBTree<int>::TNode* TRBTree<int>::TNode::parent’
rbt.h:18: warning:   when initialized here
rbt.h: In constructor ‘TRBTree<T>::TNode::TNode(T) [with T = int]’:
rbt.h:401:   instantiated from ‘std::pair<TRBTree<T>::iterator, bool> 
TRBTree<T>::insert(T) [with T = int]’
main.cpp:42:   instantiated from here
rbt.h:16: warning: ‘TRBTree<int>::TNode::right’ will be initialized after
rbt.h:14: warning:   ‘TRBTree<int>::TNode* TRBTree<int>::TNode::parent’
rbt.h:22: warning:   when initialized here
rbt.h: In constructor ‘TRBTree<T>::TNode::TNode() [with T = TFoo]’:
rbt.h:346:   instantiated from ‘TRBTree<T>::TRBTree() [with T = TFoo]’
main.cpp:68:   instantiated from here
rbt.h:16: warning: ‘TRBTree<TFoo>::TNode::right’ will be initialized after
rbt.h:14: warning:   ‘TRBTree<TFoo>::TNode* TRBTree<TFoo>::TNode::parent’
rbt.h:18: warning:   when initialized here
rbt.h: In constructor ‘TRBTree<T>::TNode::TNode(T) [with T = TFoo]’:
rbt.h:401:   instantiated from ‘std::pair<TRBTree<T>::iterator, bool> 
TRBTree<T>::insert(T) [with T = TFoo]’
main.cpp:70:   instantiated from here
rbt.h:16: warning: ‘TRBTree<TFoo>::TNode::right’ will be initialized after
rbt.h:14: warning:   ‘TRBTree<TFoo>::TNode* TRBTree<TFoo>::TNode::parent’
rbt.h:22: warning:   when initialized here

Original comment by aivyu...@gmail.com on 27 May 2013 at 7:51