[C++]Pequeño error al convertir tipos de variables

Iniciado por DeIMachine, 13 Diciembre 2015, 16:16 PM

0 Miembros y 1 Visitante están viendo este tema.

DeIMachine

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:
Código (cpp) [Seleccionar]

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

La tradición es la mortaja de la sabiduría.

ivancea96

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.

DeIMachine

¿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.
La tradición es la mortaja de la sabiduría.

DeIMachine

#3
Vale creo que asi esta bien:
Código (cpp) [Seleccionar]

for(int filas=0;filas<MAX_LINEAS;filas++){
        for(int columnas=0;columnas<MAX_LONG_LINEA;columnas++){
            s.texto[filas][columnas]=texto[filas][columnas];
        }
    }
La tradición es la mortaja de la sabiduría.