Skip to content

Instantly share code, notes, and snippets.

// declaration
template<typename T>
friend std::ostream& operator<<(std::ostream& os, const LiteMatrix<T>& rhs); // works
template<typename T>
friend std::ostream& operator<<(std::ostream& os, const LiteMatrix& rhs); // compiler error
// cannot access private member declared in class
friend std::ostream& operator<<(std::ostream& os, const LiteMatrix& rhs); // linker error