elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Doble factor de autenticación o verificación en dos pasos


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Array Objetos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Array Objetos  (Leído 460 veces)
Snarky

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Array Objetos
« en: 19 Marzo 2017, 00:57 »

Estoy haciendo un programa para que almacene los datos de un Objeto Vol, pero me da un error al crear el Vector que almacena objetos de tipo Vol. Alguien me podria decir donde esta el fallo? La clase Vol la tengo declarada con sus atributos.

Error: 'Vol' was not declared in this scope

class ArrayQueue{
    private:
        int MAX_QUEUE =100;
        std::vector<Vol> data = std::vector<Vol>(100); ----> Aqui salta el error
        
        int front; // apunta al primer element de la cua
        int rear; // apunta al darrer element de la cua
      

        
    public:
        ArrayQueue(); // inicialitza una cua, buida
        bool empty (); // indica si la cua és buida
        bool full (); // indica si la cua és plena

};
#endif


« Última modificación: 19 Marzo 2017, 01:23 por Snarky » En línea

MAFUS


Conectado Conectado

Mensajes: 924



Ver Perfil
Re: Array Objetos
« Respuesta #1 en: 19 Marzo 2017, 02:22 »

¿Tienes declarado Vol antes de ArrayQueue?


En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Snarky

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Array Objetos
« Respuesta #2 en: 19 Marzo 2017, 10:00 »

A que te refieres con que tengo Vol declarado antes que ArrayQueue? Perdona pero soy nuevo en C++ y no tengo mucha idea :-(
En línea

MAFUS


Conectado Conectado

Mensajes: 924



Ver Perfil
Re: Array Objetos
« Respuesta #3 en: 19 Marzo 2017, 10:32 »

Antes de usar cualquier cosa, c++ debe saber qur existe. Igual que declaras las variables antes de usarlas
Código
  1. int a;
  2. a = 3;
los tipos también deben existir antes de usarlos
Código
  1. class Vol {
  2.    // ...
  3. };
  4.  
  5. class ArrayQueue {
  6.    private:
  7.        int MAX_QUEUE =100;
  8.        std::vector<Vol> data = std::vector<Vol>(100);
  9.        // ...
  10. };
En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Snarky

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Array Objetos
« Respuesta #4 en: 19 Marzo 2017, 10:36 »

Sisi, tengo declarada la clase Vol con el .h y el .cpp, pero igualmente me da error. No entiendo que es lo que falla...
En línea

Snarky

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Array Objetos
« Respuesta #5 en: 19 Marzo 2017, 12:23 »

el .h

#ifndef VOL_H
#define VOL_H
#include<iostream>
using namespace std;
#include "ArrayQueue.h"

class Vol {
public:
    
    Vol(std::string  , std::string, std::string, std::string, std::string, std::string);
    
    
    void setcodi (int codi);
    void setnumVol (int numVol);
    void sethSortida (int hSortida);
    void sethArribada (int hArribada);
    void setcodiSortida (int codiSotida);
    void setcodiArribada (int codiArribada);
    
    string getcodi ();
    int getnumVol();
    int gethSortida();
    int gethArribada();
    int getcodiSortida();
    string getcodiArribada();
    
    
private:
    string codi;
    string numVol;
    string hSortida;
    string hArribada;
    string codiSortida;
    string codiArribada;
    
};

#endif /* VOL_H */

-----------------------------------------------------------------------------------------------

y el .cpp

#include "Vol.h"
#include <iostream>
#include <cmath>
using namespace std;


Vol::Vol (const Vol& orig) {
}

Vol::Vol(std::string _codi, std::string _numVol, std::string _hSortida, std::string _hArribada, std::string _codiSortida, std::string _codiArribada)


{

    codi = _codi;
    numVol = _numVol;
    hSortida = _hSortida;
    hArribada = _hArribada;
    codiSortida = _codiSortida;
    codiArribada = _codiArribada;
    
    
}

En línea

MAFUS


Conectado Conectado

Mensajes: 924



Ver Perfil
Re: Array Objetos
« Respuesta #6 en: 19 Marzo 2017, 13:30 »

He aquí el fallo.

En vol.h, está el include ArrayQueue.h. Esto te incrusta el fuente de la clase que te lanza el error, la línea que has marcado en tu primer post, y por tanto aparece el uso del tipo de dato Vol antes de su declaración.

¿De todas formas haces uso de la clase ArrayQueue dentro de Vol?
Si no la vas a usar deberías borrar ese include.
Si la vas a usar deberías pensar en crear un tipo de dato común a las dos clases para evitar que se referencien mutuamente.
En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Snarky

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Array Objetos
« Respuesta #7 en: 19 Marzo 2017, 16:07 »

Eso era! Muchisimas gracias!
En línea

MAFUS


Conectado Conectado

Mensajes: 924



Ver Perfil
Re: Array Objetos
« Respuesta #8 en: 19 Marzo 2017, 22:07 »

De res, home!
En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO]Array de objetos
.NET
diego_lp 4 2,305 Último mensaje 19 Febrero 2010, 16:33
por elmaro
Ayuda en C# con array de objetos
.NET
DaNuK 5 10,297 Último mensaje 19 Abril 2010, 07:10
por DaNuK
Array Bidimensional de objetos « 1 2 3 »
Java
Nafko 20 3,781 Último mensaje 21 Abril 2015, 19:38
por Usuario Invitado
Como recorrer un array de objetos
PHP
d91 0 556 Último mensaje 6 Octubre 2016, 16:07
por d91
acceder a array de objetos
Scripting
winnipu 1 594 Último mensaje 4 Enero 2017, 17:19
por winnipu
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines