Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

01.01.2012, 23:06

SFML sf::string

Hallo Fourm,

ich hab folgendes Problem:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sf::String Points1;

MyFont.LoadFromFile("arial.ttf", 30);
    
 Points1.SetText        ("0");
 Points1.SetFont        (MyFont);
 Points1.SetColor       (sf::Color(255, 255, 255));
 Points1.SetPosition    (315.f, 25.f);
 Points1.SetSize        (60.f);

if (Points1.GetText() == "0")
{
    Points1.SetText("1");
}


Ich bekomme folgenden Fehler:

error C2678: Binärer Operator '==': Es konnte kein Operator gefunden werden, der einen linksseitigen Operanden vom Typ 'const sf::Unicode::Text' akzeptiert (oder keine geeignete Konvertierung möglich)
1> c:\program files\microsoft sdks\windows\v6.0a\include\guiddef.h(192): kann 'int operator ==(const GUID &,const GUID &)' sein
1> bei Anpassung der Argumentliste '(const sf::Unicode::Text, char)'

Ich glaube ich muss, was ich per return zurück bekomme, irgendwie konvertieren, aber ich weiß wirklich grad nicht weiter :S

Ich hoffe mir kann jemand helfen.

mfg David

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

2

02.01.2012, 00:40

ich glaube, dass liegt daran, dass sf::Unicode::Text (welches von GetText zurückgegeben wird) diesen operator nicht unterstützt...
du musst also mit (std::string) casten, dann sollte es gehen, da sf::Unicode::Text einen cast zu std::string definiert...
oder halt so:

C-/C++-Quelltext

1
2
3
4
5
6
std::string text = Points1.GetText();

if(text == "0")
{
...
}

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

3

02.01.2012, 01:09

(Points1.GetText().ToAnsiString() == "0")

Doku lesen ;)
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

4

02.01.2012, 01:15

Vielen Dank euch. Ich suche wirklich immer erst in der Doku aber irgendwie find ich das falsche oder versteh es falsch.

Danke

e: Ok ich seh grad das ToAnsiString zu der 2.0 Lib gehört, ich benutze aber 1.6. Jetzt muss ich erstmal schaun was ich ändern muss.

Werbeanzeige