Wie verwende ich tr1 mit Visual Studio 2010 (tr1 :: function)?

8

Wie beginnt man mit den tr1-Funktionen von Visual Studio 2010? Für einen spezielleren Fall benötige ich die std :: tr1 :: -Funktion. Ich habe versucht, #include <tr1/functional> einzufügen, die Berichte als fehlend ausgeben, während #include <functional> die Feineinstellung enthält, aber wenn ich folgendes festlege:

%Vor%

Ich bekomme:

%Vor%

Wenn ich Boost verwende, funktioniert es gut, aber für dieses Projekt würde ich wegen der Verwendung eines spezifischen Frameworks die Version von Visual Studio tr1 benötigen.

Wie bereits vorgeschlagen, führt das Überspringen des tr1 immer noch zum selben Ergebnis:

%Vor%     
Speed 01.05.2012, 19:14
quelle

2 Antworten

8

Aufgrund Ihrer Kommentare und auf dieser Seite denke ich, dass Marmelade kommt mit seiner eigenen STL-Implementierung, die veraltet erscheint. Diese Seite überprüft, ob sie eine Version von STLPort , das unterstützt nicht die TR1, die 2005 herauskam, geschweige denn etwas neueres. Ihre Optionen sind:

1) Kopiere / schreibe diese selbst 2) Ohne zu gehen 3) Lade eine neuere Version von STLPort herunter . Es scheint in den letzten zwei Jahren nicht aktualisiert worden zu sein, also keine C ++ 11, aber sie erwähnen functional , aber sind nicht klar, ob es im Namensraum std oder std::tr1 ist . Dies funktioniert jedoch möglicherweise nicht mit Marmalade. Erstellen Sie deshalb Sicherungskopien und seien Sie vorsichtig.

    
Mooing Duck 01.05.2012, 19:57
quelle
2

Visual Studio 2010 wird mit C ++ 11 ausgeliefert, das standardmäßig aktiviert ist (oder zumindest was implementiert ist). Sie müssen std::function<void(void)> verwenden.

Eine vollständige Tabelle finden Sie hier .

Übrigens: Sie sollten heutzutage nichts mehr von TR1 verwenden. Es wurde in den neuen Standard integriert.

    
pmr 01.05.2012 19:18
quelle