'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_INCLUDEDIch 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=98In 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=98In 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) ^^