Witam,
Poniższy kod generuje mi error jak w temacie:
#include <iostream>
template <typename T> class myVector
{
private:
T* buffer;
size_t size;
size_t capacity;
public:
myVector();
myVector(size_t s);
myVector(const myVector<T>& rhs);
myVector<T>& operator=(const myVector<T>& rhs);
T& operator[](size_t index);
ostream & operator<<(ostream & stream, const myVector<T>& rhs);
~myVector();
};
Problem pojawia się w przed ostatniej linijce kodu:
ostream & operator<<(ostream & stream, const myVector<T>& rhs);
Przyznam szczerze, że nie rozumiem powyższego błędu, a za wyjaśnienie problemu będę bardzo wdzięczny!
friend
, a nawet w swoim głównym obszarze zastosowań (czyli oferowaniu dostępu do prywatnych danych)friend
często nie jest najlepszym wyborem.friend
właśnie SŁUŻY do prawidłowego definiowaniaoperator<<
i do niewielu rzeczy więcej :-)