std::unordered_map nicht deklarierten Bezeichner, die mit Visual C++ 2008
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map< int, string > m;
m[1] = "one";
m[2] = "two";
m[4] = "four";
m[3] = "three";
m[2] = "TWO!";
cout << m[2] << endl;
m.clear();
return 0;
}
Lerne ich und kann nicht heraus. Gibt der compiler die Fehlermeldung, dass der Typ unordered_map
ist schwarzarbeit.
Ich benutze Visual C++ 2008 Express Edition.
InformationsquelleAutor munish | 2011-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Visual Studio 2008 die Klassen, die im Technical Report 1 (TR1) sind im namespace std::tr1.
Hinzufügen:
code.
InformationsquelleAutor MW_dev
In der TR1
unordered_map
ist von der<tr1/unordered_map>
header-Datei alsstd::tr1::unordered_map
.In der kommenden C++0x standard es ist von der
<unordered_map>
header-Datei alsstd::unordered_map
.benutzen Sie deshalb
<tr1/unordered_map>
Kopf-undstd::tr1::unordered_map
namespace für vc 2008, da vc 2008 bietet keine Unterstützung für C++0x.Antwort auf die problem, die Sie zitiert im Kommentar.
Auch, Stellen Sie sicher, laden Sie die feature pack für VS2008!
Überprüfen Sie unter neue Funktionen unterstützt, die Liste.
vielen Dank nochmal, dass ich nicht wusste, etwa, dass.....feature pack für VS2008! ......
InformationsquelleAutor Alok Save
Visual C++ 2008 erklärt
unordered_map
im namespacestd::tr1
, nicht instd
. Sehen http://msdn.microsoft.com/en-us/library/bb982522(VS.90).aspx, Abschnitt Anforderungen.InformationsquelleAutor Oswald
Dein code funktioniert wie vorgesehen, in VS2010. Mit Ausgabe ZWEI! wenn es das ist, was Sie nicht bekommen. Kann sein, Sie sollten einen Wechsel zu VC++ 2010 Express Edition.
Wahrscheinlich VC++ 2008 nicht enthalten TR1
InformationsquelleAutor Cem Kalyoncu
In C++03,
unordered_map
definiert ist, instd::tr1
namespace (falls man es definiert).So, die Sie verwenden sollten:
InformationsquelleAutor Nawaz
Suchst du vielleicht
stdext::hash_map
statt (im<hash_map>
)?VC++ 2008 express meines Wissens nicht enthalten TR1.
InformationsquelleAutor Justin Aquadro