Hola a todos, tengo un pequeño problema, en un struct he querido declarar una matriz de tipo char[3][80], el caso es que cuando la voy a utilizar en esta funcion:
Subtitulo definir (int num, int nLineas, char texto[][MAX_LONG_LINEA], Tiempo t_inicio, Tiempo t_fin){
Subtitulo s;
s.numero=num;
s.numLineasTexto=nLineas;
s.texto=texto; //[color=red]ERROR AQUI[/color]
s.inicio=t_inicio;
s.fin=t_fin;
return s;
}
In function 'Subtitulo definir(int, int, char texto(*)[80], Tiempo, Tiempo)':
error incompatible types in assignament of 'char (*)[80] to 'char [3][80]
He probado mil cosas para tratar de que me funcione como por ejemplo dandole a la matrz char texto de mi funcion filas pero me sigue poniendo el error, no se como la puedo convertir. Saludos
Si quieres trabajar con datos del tipo T[X][Y], coloca como parámetro de la función "char texto[3][MAX_LONG_LINEA]". Luego, tendrás que copiar los datos (con un par de bucles for anidados, por ejemplo) de una matriz a la otra.
¿No puede ser algo más simple? Es que como me extrañaba que no me den el numero de filas en el parametro, he probado a poner [3] sin repetir los bucles y me seguía saliendo el mismo error ahora intento lo de los bucles anidados, gracias.
Vale creo que asi esta bien:
for(int filas=0;filas<MAX_LINEAS;filas++){
for(int columnas=0;columnas<MAX_LONG_LINEA;columnas++){
s.texto[filas][columnas]=texto[filas][columnas];
}
}