Por lo que puedo ver, a matriz le estás pasando (posicion[0], posicion[1]), pero posicion es un arreglo de caracteres (char en la definición de la función). Para poder acceder a los elementos de la matriz (o arrays), es necesario que el/los índices sean enteros.
¿Cómo pasar char a entero?: valor entero asociado a posicion[0] = posicion[0] - '0'.
O sea, probá con matriz[[posicion[0] - '0'][posicion[1] - '0']] = '2'
Cualquier cosa avisá.
Saludos.