Thanks, you are completely right about the array. That is how I implemented it; I just wasn't paying attention. However, I am still getting the exact same error:
Board.cpp:52: error: ‘std::ostream& Board::operator<<(std::ostream&, const Board**)’ must take exactly one argument
This will not compile. It is telling me the following
g++ -c Square.cpp
In file included from Square.cpp:10:
Square.h:21: error: ISO C++ forbids declaration of ‘ostream’ with no type
Square.h:21: error: ‘ostream’ is neither function nor member function; cannot be declared friend
Square.h:21: error: expected ‘;’ before ‘&’ token
Square.h: In function ‘std::ostream& operator<<(std::ostream&, Square)’:
Square.h:35: error: ‘int Square::m_Solution’ is private
Square.cpp:111: error: within this context
make: *** [Square.o] Error 1