Thanks for the help guys!!
The whole copy constructor issue really shed some light as to why I was only getting the first row.
I ended up passing by reference, and it works properly now.

The whole static variable thing was just for testing. The solver will never have more than one board, so it made sense at the time, but I am actually going to remove it from the code.

Thanks again for the help.