Wie initialisiert man einen Container mit nicht kopierbarer Initialisierungsliste? [Duplikat]

8

Ich verwende gcc 4.6.1, um diesen Code zu kompilieren

%Vor%

In was g ++ sich beschwert gibt es sowas wie

%Vor%

Es scheint, dass g ++ in diesem Fall immer noch versucht, den Konstruktor zu kopieren, obwohl das, was ich in die Initialisiererliste geschrieben habe, r-Werte sind. Wie könnte ich also einen Container mit nicht kopierbarer Initialisierungsliste initialisieren?

    
neuront 24.07.2011, 00:33
quelle

1 Antwort

5

Sie können Objekte nicht aus Initialisierungslisten entfernen, da sie nur den permanenten Zugriff auf ihre Mitglieder erlauben. Daher können Sie Initialisierungslisten und Konstruktoren nicht verwenden. Sie können nur kopiert werden.

    
Nicol Bolas 24.07.2011, 00:45
quelle