Seite 1 von 1
const char in QChar
Verfasst: 1. Januar 2009 14:37
von sowas
auf ein gesundes Neues und ich habe ein Problem:
Diese kleine Routine läuft nicht unter qt4.
Ich will nur das Vorkommen von einem Zeichen(') im String suchen.
bool suchZeichen(const QString &s){
int zhl=0;
int lg=s.length();
for (int i=0; i<lg; i++){
if (s=="'")
zhl++;
}
return zhl;
}
ich bekomme aber die Meldung:
- Umformung von »const char [2]« in »QChar« ist nicht eindeutig -
und ich weiß nicht wie ich das machen soll.
Vielleicht soll ich heute aufhören.
Verfasst: 1. Januar 2009 14:51
von franzf
Hi,
1) du deklarierst als Rückgabewert ein bool, zählst aber das Vorkommen des Zeichens ab.
2) Entscheide dich was du haben willst, ob oder wie oft das Zeichen vorkommt.
Entsprechend kannst du direkt auf die QString-Api zugreifen.
bool contains ( QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
oder
int count ( QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
Grüße
Franz
const char in QChar
Verfasst: 1. Januar 2009 15:03
von sowas
Hallo,
Danke für die schnelle Antwort
ich brauch den zweiten Vorschlag aber ich weiß nicht wie ich die Api in die Routine einbauen soll.
Verfasst: 1. Januar 2009 15:13
von franzf
Du kannst doch auf die Routine komplett verzichten!
Code: Alles auswählen
QString s("Blabla'mit'Gänsefuß'");
int count = s.count("'");
gelöst - const char in QChar
Verfasst: 1. Januar 2009 15:17
von sowas
Danke.
ich mach mal Pause.
Verfasst: 1. Januar 2009 15:45
von sowas
ich konnte nicht es lassen und habe meinen code durch fogendes ersetzt
int ist;
int count = s.count(QChar("'")); <---
if count > 2
ist =ist /2
return ist;
ersetzt, und da kommt wieder die Fehlermeldung:
<---Aufruf des überladenen »QChar(const char [2])« ist mehrdeutig-
Was nun?
Verfasst: 1. Januar 2009 16:38
von franzf
sowas hat geschrieben:ich konnte nicht es lassen und habe meinen code durch fogendes ersetzt
int ist;
int count = s.count(QChar("'")); <---
if count > 2
ist =ist /2
return ist;
ersetzt, und da kommt wieder die Fehlermeldung:
<---Aufruf des überladenen »QChar(const char [2])« ist mehrdeutig-
Was nun?
ich hatte vorher gleich meinen Beitrag noch editiert.
Also entweder so:
oder so
gelöst - const char in QChar
Verfasst: 1. Januar 2009 17:08
von sowas
Hallo,
beide funktionieren, aber es ist sehr ermüdend nach der richtigen Syntax zu suchen. Danke