Avatar billede phlip_19 Nybegynder
20. juni 2005 - 13:11 Der er 6 kommentarer og
1 løsning

is not a member of 'CLASS'

Jeg er igang med at lave en simulering af enelevator skakt til til et skole projekt.

Klassen Elevator ser ud som følger:

#include "ElevatorState.h"
namespace Reality    {
        //HeaderFile
    #ifndef ELEVATOR_H;
    #define ELEVATOR_H;

    class Elevator    {
        public:
            Elevator(ElevatorState eState, capacity = 0);
            void load();
            void move(int toFloor);
            int getCapacity();
            void setCapacity(int capacity);
            ElevatorState getState();
            void setState(ElevatorState eState);

            void timeTick();

        private:
            int capacity;
            ElevatorState state;
    };
    #endif;


    Elevator::Elevator(ElevatorState eState, int newCapacity)
        : capacity(newCapacity), state(eState)
    {    }

    void Elevator::load()    {    state.load();    }
    void Elevator::move(int toFloor)    {    state.move(toFloor);    }
    int Elevator::getCapacity()    {    return capacity;    }
    void Elevator::setCapacity(int newCapacity)    {    capacity = newCapacity;    }
    ElevatorState Elevator::getState()    {    return state;    }
    void Elevator::setState(ElevatorState eState)    {    state = eState;    }

    void Elevator::timeTick()    {    }
}

Når jeg forsøger at compilere denne får jeg følgende fejl:
Error E2303 C:\cpp\elevator\Elevator.cpp 22: Type name expected
Error E2321 C:\cpp\elevator\Elevator.cpp 24: Declaration does not specify a tag or an identifier
Error E2316 C:\cpp\elevator\Elevator.cpp 43: 'Elevator::Elevator(ElevatorState,int)' is not a member of 'Elevator'
Error E2316 C:\cpp\elevator\Elevator.cpp 46: 'Elevator::load()' is not a member of 'Elevator'

Er der nogen der ved hvad jeg kan have gjordt forkert??
det virker lidt somom den ikke kan forstå headeren, men jeg kan ikke lige se mig ud af hvad fejlen skulle være
Avatar billede arne_v Ekspert
20. juni 2005 - 13:15 #1
hvilke linier er 22, 24, 43 og 46 ?
Avatar billede phlip_19 Nybegynder
20. juni 2005 - 13:32 #2
ja, fair linie nr ville nok have vret godt :-)

22: Elevator(ElevatorState eState, capacity = 0);
24: void move(int toFloor);
42: Elevator::Elevator(ElevatorState eState, int newCapacity)
43:  : capacity(newCapacity), state(eState)
46: void Elevator::load()    {    state.load();    }
Avatar billede arne_v Ekspert
20. juni 2005 - 14:02 #3
Elevator(ElevatorState eState, int capacity = 0);
Avatar billede arne_v Ekspert
20. juni 2005 - 14:03 #4
43 forsvinder nok med den også
Avatar billede arne_v Ekspert
20. juni 2005 - 14:04 #5
de 2 sidste er jeg meget i tvivl om
Avatar billede phlip_19 Nybegynder
20. juni 2005 - 14:07 #6
nå, på den måde så man skal huske at angive hvilke type, de forskellige pametre skal have Ahhha...
Tja, det er jo hvad der sker når man sidder og gjor ind i det samme styk kode, time efter time...

og de 2 andre forsvandt også efter denne rettelse :-)

thx for hjælpen smid et svar så du kan få dine point's
Avatar billede arne_v Ekspert
20. juni 2005 - 14:16 #7
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester