Was ist los mit diesem beweglichen Typ für std :: map?

8

Ich möchte einen beweglichen, aber nicht kopierbaren Typ als Wert in std::map angeben. Hier ist ein einfacher Code, um das Prinzip zu testen.

%Vor%

Ich kompiliere das mit g++ test.cpp --std=c++0x (gcc Version 4.5.1 unter Ubuntu 12.04). Es gibt einen großen hässlichen Fehler, wie unten gezeigt. Was ist das Problem?

%Vor%     
spraff 21.01.2013, 14:30
quelle

1 Antwort

3

Ich füge einige Details für zukünftige Referenzen hinzu: Dieser Bug, auf den Quux hingewiesen hat, wurde in gcc 4.5.1 von ein Problem im Move-Konstruktor für std::pair .

Ab sofort wurde das Problem behoben und Sie sollten entweder Ihre Compiler-Version oder eine Problemumgehung aktualisieren, indem Sie eine andere Version der Standardbibliothek verwenden.

Ihr Code funktioniert problemlos

    
Marco A. 02.09.2014 11:42
quelle

Tags und Links