Я пытаюсь перегрузить оператор ‹‹, но получаю следующую ошибку:
ошибка: неоднозначная перегрузка для 'operator‹‹' в 'std::cout ‹‹ "Test"'
..За ним следуют 5 миллиардов других ошибок, похожих на:
c:\mingw\bin../lib/gcc/mingw32/4.5.2/include/c++/ostream:165:7: примечание: кандидатами являются: ...
Это происходит потому, что я использую cout в своем файле main.cpp.
Вот мой код:
В BinTree.h:
template <typename T>
class BinTree{
...
friend std::ostream& operator<< <>(std::ostream&, const T&);
В BinTree.cpp:
template <typename T>
std::ostream& operator<< (std:: ostream& o, const T& value){
return o << value;
}
Заранее благодарим за любую помощь, которую вы можете оказать.
operator<<(std::ostream&, const T&)
нужен доступ к внутренностямBinTree<T>
, если он не нужен? никогда их не использовали (илиBinTree<T>
)? - person Chris Lutz   schedule 16.10.2011