when I try to create new thread inside my class i get an error in the functional header that says : Error 1 error C2064: term does not evaluate to a function taking 4 arguments c:\program files (x86)\microsoft visual studio 12.0\vc\include\functional 1149 1 Puzzel-8
//////////////////////////////////////////////////////////// this is my calling to create the new thread :
thread s(&puzzle::new_thread, state, dir_downn, ini_0_position_i, ini_0_position_j);
s.detach();
///////////////////////////////////////////////////// and this is the new_thread function :
enter code here
void puzzle::new_thread(int * state1[], int move_direction, int ini_0_position_i, int ini_0_position_j)
{
int **state2;
state2 = new int*[puzzle_size];
for (int i = 0; i < puzzle_size; i++)
{
state2[i] = new int[];
}
copy_array(state1, state2);
path_increment(initial_0_position_j, initial_0_position_i, state2, move_direction);
goal(state2);``
the_main(state2, ini_0_position_i, ini_0_position_j);
}
///////////////////////////////////////////// note : when I try to create a thread in the main() it works