Stringvergleich
-
Hallo,
warum ist das verboten?
void foo(string* word) { if((*word)[0] == "\"") //verboten doSth(); }
und wie lautet es korrekt?
thx
-
njko schrieb:
warum ist das verboten?
Weil
(*word)[0]
ein char und"\""
ein Stringliteral ist. Du möchtest wahrscheinlich'\"'
schreiben (oder'"'
).
-
njko schrieb:
warum ist das verboten?
Steht sicher in der Fehlermeldung, die du uns vorenthaeltst.
und wie lautet es korrekt?
Das kommt drauf an, was du machen moechtest. Nimmt man das
*
vorword
weg, dann kompiliert es zumindestens.
-
hat es einen grund wieso du den string als zeiger übergibst?
ansonsten das selbe wie knivil.
void foo(string const& Word) { Word == "\""; // Prüfen, ob der ganze String ein " ist Word[0] == '"'; // Prüfen, ob das erste Zeichen ein " ist (solltest vll. zuerst auf Word.empty() prüfen damit du kein ub haben kannst) }