Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: <<<-Basura->>> en 2 Junio 2011, 19:06 PM

Título: Problemita!!
Publicado por: <<<-Basura->>> en 2 Junio 2011, 19:06 PM
tengo este codigo
Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;

struct map{
int mapa[3];
};
struct cam{
char nombre[20];
};

int main(){
    cam nom[3];
    map mape;
   
    cin >> nom[0].nombre; 
    cout << nom[0].nombre;
   
    mape.mapa[0] = nom[0];
   
   
return 0;
}


cuando intento compilar sale este error:
main.cpp:18.25: error: cannot convert 'cam' to 'int' in assignment

alguien me podría dar una solución a mi problema
Título: Re: Problemita!!
Publicado por: Acermax en 2 Junio 2011, 19:15 PM
Pues nom[0] es un dato de tipo "cam", y eso lo estás intentando meter en mape.map[0], que es de tipo "int" y no tiene mucho sentido.
Título: Re: Problemita!!
Publicado por: <<<-Basura->>> en 2 Junio 2011, 19:20 PM
Es que eso es lo que quiero, en la posición de un array quiero almacenar un struct, pero quisiera saber como hacerlo
Título: Re: Problemita!!
Publicado por: El_Java en 2 Junio 2011, 19:36 PM
Para almacenar en un array la direccion de un struct puedes hacerlo con punteros:
Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

struct map{
int mapa[3];
};
struct cam{
char nombre[20];
};

int main(){
    cam nom[3];
    cam *array = new cam[3]; //Declaracion e incializacion del puntero

    cin >> nom[0].nombre;
    cout << nom[0].nombre << endl;

    array[0] = nom[0]; //Asignacion
    cout << array[0].nombre ; //mostrando el nombre de la direccion del array[0]


return 0;
}


Espero que te ayude.
Título: Re: Problemita!!
Publicado por: <<<-Basura->>> en 2 Junio 2011, 20:00 PM
Gracias ya lo logre  ;D ;D