Не понимаю, почему не работает потоковый вывод
Вылетает следующая ошибка: Ошибка LNK2019 ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::char_traits > & __cdecl operator«(class std::basic_ostream<char,struct std::char_traits > &,struct Odpisok const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABU?$Odpisok@H@@@Z) в функции _main. Шаболды C:\Users\Казимир\source\repos\Шаболды\Шаболды\Шаболды.obj 1.
Помогите пожалуйста, ниже приведён фрагмент моего кода:
#include "Odpisok.h"
#include <iostream>
using std::ostream;
template <typename I>
ostream& operator « (ostream& w, const Odpisok<I>& x)
{
if (x != 0)
w « x.inf() « x.Next();
else
w « "_";
return w;
};
#pragma once
#include <iostream>
using std::ostream;
template <typename I>
class Odpisok;
template <typename I>
struct Banka
{
I x;
Odpisok<I> next;
Banka()
{
x = 0;
next = 0;
}
Banka(I a,const Odpisok<I>& b)
{
x = a;
next = b;
}
~Banka()
{
}
public:
friend Odpisok<I>;
};
template <typename I>
struct Odpisok
{
Banka<I>* a = 0;
I inf() const
{
return a->x;
}
Odpisok& Next() const
{
return a->next;
}
};