Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Qt problem z pętlą


Rekomendowane odpowiedzi

Opublikowano

Witam. Dopiero zaczynam swoja przygodę z Qt, więc prosze o wyrozumiałość. Napisałem taki trywialny programik i generalnie wszystko gra i buczy za wyjątkiem pętli. Wyświetla mi komunikat:

 

C2678: binary '==': no operator found which takes a left hand operand of type 'const QChar' (...).

 

Załączam kod i proszę o wskazówkę do rozwiązanie mojej zagwostki :))

 

#include <QtCore/QCoreApplication>

#include <QList>

#include <QDebug>

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

QList<QString> list;

list << "one" << "two" << "three";

QString result = QString("First phrase is: %1, next is: %2 and the last one is: %3")

.arg(list[0]).arg(list[1]).arg(list[2]);

result = result.toUpper();

QString result1 = result.toLower();

result1 = result1.replace("three", "four");

qDebug() << result; "/n";

qDebug() << result1;

QString result2;

for (int i = 0; i < result1.size(); i++)

{

if(result1.at(i) == "next")

result2 = QString("Phrase next begins with %1 index").arg(i);

qDebug() << result2;

}

return a.exec();

}

Weteran
Opublikowano

Tak jak @Up

Po prostu operator == nie został przeładowany do tych typów zmiennych, ponieważ nie ma sensu porównywać ciągu znaków do jednego bajta.

Dodam jeszcze, że lepiej byłoby gdybyś usuną na końcu to return a.exec(), ponieważ po wykonaniu tych instrukcji dalsze istnieje programu nie ma sensu, szczególnie kiedy nie ma żadnego mechanizmu zamykania go.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...