Сообщение ошибки, составив договоренность struct как признака

Я не знаю, как создавать признак типа договоренность struct. Я оставляю им мои коды, он дает мне эту ошибку:

В classAntena.h он говорит 'мобильные телефоны' was not declared in this scope. В classAntena.cpp он говорит 'Мобильные телефоны' does not ямс в type.

classAntena.h

#ifndef CLASSANTENA_H_
#define CLASSANTENA_H_


class Antena{

private:
    Celular celulares[100];

public:
    void incrementarLlamadasRealizadas(int);
    void incrementarLlamadasRecibidas(int);
    void incrementarDuracionLlamadas(int,int);
    void modificarInicioLlamada(int,int);
    void modificarFinLlamada(int,int);
    int devolverLlamadasRealizadas(int);
    int devolverLlamadasRecibidas(int);
    int devolverDuracionLlamadas(int);
    int devolverNumeroCelular(int);

};

#endif /* CLASSANTENA_H_ */

classAntena.cpp

#include "classAntena.h"

struct Celular{

    int numeroCelular;
    int cantLlamadasRealizadas;
    int cantLlamadasRecibidas;
    int duracionLlamadas;
    int inicioLlamada;
    int finLlamada;
};

void Antena::incrementarLlamadasRealizadas(int posCel){

    celulares[posCel].cantLlamadasRealizadas++;
}

void Antena::incrementarLlamadasRecibidas(int posCel){

    celulares[posCel].cantLlamadasRecibidas++;
}

void Antena::incrementarDuracionLlamadas(int duracionLlamada, int posCel){

    celulares[posCel].duracionLlamadas += duracionLlamada;
}

void Antena::modificarInicioLlamada(int comienzoDeLlamada, int posCel){

    celulares[posCel].inicioLlamada = comienzoDeLlamada;
}   

void Antena::modificarFinLlamada(int finDeLlamada, int posCel){

    celulares[posCel].finLlamada = finDeLlamada;
    int duracionLlamada = celulares[posCel].finLlamada - celulares[posCel].inicioLlamada;
    incrementarDuracionLlamadas(duracionLlamada, posCel);
}

int Antena::devolverLlamadasRealizadas(int posCel){

    return celulares[posCel].cantLlamadasRealizadas;
}

int Antena::devolverLlamadasRecibidas(int posCel){

    return celulares[posCel].cantLlamadasRecibidas;
}

int Antena::devolverDuracionLlamadas(int posCel){

    return celulares[posCel].duracionLlamadas;
}

int Antena::devolverNumeroCelular(int posCel){

    return celulares[posCel].numeroCelular;
}
1
задан 29.03.2016, 06:10
1 ответ

У тебя есть две проблемы:

  1. Определение struct Celular должен будь быть в файле.h перед определением класса. Иначе, составитель не может знать, что Celular.

  2. В твоем классе Antena поле определено, чтобы выносить 1 единственный элемент, это не договоренность. Измени заявление для того, чтобы это была договоренность:

    Celular celulares[];
    
2
ответ дан 24.11.2019, 14:41

Теги

Похожие вопросы