"...invalid conversion from ‘int’ to ‘void*’..."
Estas usando la funcion memcpy de forma incorrecta: esa funcion espera una direccion (un puntero o una referencia), pero tu le estas enviando un valor (lo que seria una desreferencia):
Código:
typedef int** Matriz2D_1;
Matriz2D_1 submatriz;
memcpy (&submatriz[fila_submatriz][col_submatriz], &matriz[f][c], sizeof(int));
submatriz[fila_submatriz][col_submatriz] y matriz[f][c] son valores (desreferencia)
&submatriz[fila_submatriz][col_submatriz] y &matriz[f][c] son punteros (referencia)
Una cosa, antes de usar rand() has llamado a srand()?
Saludos
vosk