Verwendung eines std :: tuple als Schlüssel für std :: unordered_map

8

Mit dem folgenden Code bekomme ich einen sehr verwirrenden Fehler in MSVC, der darauf hindeutet, dass der Schlüsseltyp (ein std :: tuple) in eine std :: string konvertiert wird.

%Vor%

Fehler:

%Vor%

Compiler: MS Visual Studio 2010

Auf Ideone bekomme ich den folgenden noch komplizierteren Fehler:

Ссылка

Ich kann nicht herausfinden, wo ich falsch gelaufen bin.

    
Gerdiner 10.07.2012, 07:56
quelle

2 Antworten

4

Das Problem für ideone ist, dass key_t bereits existiert:

%Vor%

Benenne dein key_t in etwas anderes um oder lege es in einige Namespaces.

Ihr Code funktioniert nach dieser Änderung sowohl in g ++ als auch in clang ++. Ich glaube, das ist ein Fehler in MSVC.

    
kennytm 10.07.2012 08:06
quelle
2

Seltsam. Ihr Code funktioniert in Visual Studio 2012 RC einwandfrei und die Ausgabe ist "x: test data".

    
ForEveR 10.07.2012 08:00
quelle