template <class T>
class ListRemake
{
...
friend ostream& operator << (ostream& out, const ListRemake& obj);
};
template <class T>
ostream& operator << (ostream& out, const ListRemake& obj)
{
for (int i = 0; i < obj.size; i++)
out << obj[i] << '\n';
return out;
}
Ошибка C2955: «ListRemake»: использование шаблона шаблона требует списка аргументов шаблона.ошибка C2955: «ListRemake»: использование шаблона шаблона требует списка аргументов шаблона
Я получаю ошибку компоновщика: неразрешенная ошибка: Ошибка ошибка LNK2019: неразрешенный внешний символ "class std :: basic_ostream> & __cdecl operator << (класс std :: basic_ostream > &, класс ListRemake const &) "(?? 6 @ YAAAV? $ basic_ostream @ DU? $ char_traits @ D @ std @@@ std @@ AAV01 @ ABV? $ ListRemake @ N @@ @Z), на которые ссылается функция _main –
@icecrime Я просто сделал, но получаю те же ошибки. –
@cable: Вы пытаетесь отделить декларации и определения в разных файлах? Это не работает с шаблонами. – fredoverflow