Ok let me see where do I start.
class Board:public State(){
should be
class Board:public State{
For loop
setVal(r, c blocks[bIndex]);
should be either
setVal(r, c, blocks[bIndex]);
or remove "c" token.
I assume that the majority of functions declared in the State class? Because if they're not, this is yet another problem.
And I am assuming that you have following line visible to your code:
#include <vector>
#include <queue>
using namespace std;