C ++: deklaracja przyjaciela „deklaruje funkcję inną niż szablon

Mam problem z przeciążeniem<< operator strumienia i nie znajduję rozwiązania:

template<class T, unsigned int TN>
class NVector
{
    inline friend std::ostream& operator<< (
        std::ostream &lhs, const NVector<T, TN> &rhs);
};

template<class T, unsigned int TN>
inline std::ostream& NVector<T, TN>::operator<<(
    std::ostream &lhs, const NVector<T, TN> &rhs)
{
    /* SOMETHING */
    return lhs;
};

Wyświetla następujący komunikat o błędzie:

ostrzeżenie: deklaracja przyjaciela „std :: ostream & operator << (std :: ostream &, const NVector &)” deklaruje funkcję inną niż szablon [-Nie-szablon-przyjaciel]

błąd: „std :: ostream & NVector :: operator << (std :: ostream &, const NVector &)” musi przyjąć dokładnie jeden argument

Jak rozwiązać ten problem?

Dziękuję Ci bardzo.

questionAnswers(1)

yourAnswerToTheQuestion