Open GoogleCodeExporter opened 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
Original issue reported on code.google.com by
anna.tat...@gmail.com
on 27 May 2013 at 1:52