2016-06-28 20 views
-1

Ich versuche, sf :: Text Wert in eine Std :: String ohne Erfolg zu bekommen. HierSFML - Erhalten von Text aus sf :: Text

ist die Codezeile:

std::string s = input_text.getString(); 

Hat jemand weiß, warum dies nicht funktioniert?

Es sagt auch etwas über Symbole aus SFML-graphics-d-2.dll nicht geladen ..

ich diese Störung erhalte:

Debug Assertion failed!

Expression: _pFirstBlock == pHead

Wenn jemand eine Lösung hat, würde ich dankbar sein.

+0

sf :: Text :: getString(); gibt keine std :: string zurück, sehen Sie sich die Dokumentation an. –

+0

@HannesHauptmann ja aber wie bekomme ich den Stringwert aus dem sf :: Text? –

+0

Diese Codezeile sieht für mich OK aus, da es einen impliziten Fall von "sf :: String" nach "std :: string" gibt. '_pFirstBlock == pHead' deutet auf eine Heap-Verfälschung irgendeiner Art hin, vielleicht von nicht übereinstimmenden Versionen von msvcrt. (Entweder Versionen mischen oder Debug und Release mischen.) In der Tat, hier ist [jemand mit einem ähnlichen Problem] (http://en.sfml-dev.org/forums/index.php?topic=15787.0), der es behoben hat indem Sie sicherstellen, dass SFML mit derselben Studioversion wie ihr Projekt kompiliert wurde. –

Antwort

0

getString() kehrt SFML Wrapper von string, verwenden .toAnsiString()

string str = input_text.getString().toAnsiString();