'vector' in namespace 'std' does not name a type



  • Hi,

    momentan habe ich einen komischen (folgenden) Syntax-Fehler:

    #ifndef KEYEVENTRECEIVER_HXX_INCLUDED
    #define KEYEVENTRECEIVER_HXX_INCLUDED
    
    #include <vector>///<<<--- !?
    #include <irrlicht.h>
    
    class KeyEventReceiver : public irr::IEventReceiver
    {
          std::vector<bool> keystates;//Hier
    
    public:
    
          KeyEventReceiver():
          keystates(irr::KEY_KEY_CODES_COUNT, false) {}
    
          bool OnEvent(const irr::SEvent& event)
          {
                if (event.EventType == irr::EET_KEY_INPUT_EVENT)
                      keystates.at(event.KeyInput.Key) = event.KeyInput.PressedDown;
    
                return false;
          }
    
          bool keypressed(irr::EKEY_CODE a)
          {
                return keystates.at(a);
          }
    };
    
    #endif // KEYEVENTRECEIVER_HXX_INCLUDED
    

    Ich hoffe, was die einzelnen Basisklassen darstellen und evt. andere Sachen erschließen sich aus dem Kontext. Der Fehler ist für mich sehr merkwürdig: vector soll anscheinend nicht im Namensraum 'std' deklariert worden sein, obwohl ich ja sehr offensichtlich alles richtig implementiert habe...

    Ich habe ein kleines Test-Programm zum Prüfen des Compilers geschrieben, das völlig einwandfrei läuft.

    Was mache ich falsch?

    VD im Voraus



  • Also bei mir (Maverick Meerkat, irrlicht 1.7.2, g++ 4.6.1) kompiliert das da wunderbar. Nur eine Zeile musste ich ändern:

    #include <irrlicht/irrlicht.h>
    


  • Dobi schrieb:

    Also bei mir (Maverick Meerkat, irrlicht 1.7.2, g++ 4.6.1) kompiliert das da wunderbar. Nur eine Zeile musste ich ändern:

    #include <irrlicht/irrlicht.h>
    

    Sehr komisch, egal. Habe es jetzt geändert, sodass <vector> in der main inkludiert wird... werde ich vlt. später drüber rätseln... 😃

    thx

    Edit: Hab die gleiche Irrlicht-Version und den gleichen Compiler ^^



  • Zum Thema vector<bool>:
    http://stackoverflow.com/questions/670308/alternative-to-vectorbool
    http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=98

    In the Lillehammer meeting in April 2005, vector<bool> was discussed again. This time, there was general agreement about deprecating vector<bool> and introducing its functionality under a different name, e.g. bit_vector. With the adoption of this approach, it might be possible to remove the vector<bool> specialization from the next C++ standard.



  • GyroGearloose schrieb:

    Zum Thema vector<bool>:
    http://stackoverflow.com/questions/670308/alternative-to-vectorbool
    http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=98

    In the Lillehammer meeting in April 2005, vector<bool> was discussed again. This time, there was general agreement about deprecating vector<bool> and introducing its functionality under a different name, e.g. bit_vector. With the adoption of this approach, it might be possible to remove the vector<bool> specialization from the next C++ standard.

    Oder gleich 'n bitset...



  • Hacker schrieb:

    Oder gleich 'n bitset...

    Besser std::array<bool> . Du willst mit den Bits ja nicht rumspielen.



  • warhammer schrieb:

    Hacker schrieb:

    Oder gleich 'n bitset...

    Besser std::array<bool> . Du willst mit den Bits ja nicht rumspielen.

    Hab ich ja auch genommen (nach zwei Sekunden nachdenken, als ich <vector> woanders inkludiert habe) ^^


Anmelden zum Antworten