Frage

Ich versuche, eine bestimmte Textfeld Nachricht zu ändern. Es wird mir eine Ausgabe angezeigt werden soll.

Das ist, was ich habe in meinem main ()

#include "form2.h"
....
string recvMSG = "random";

182 :: Form2 :: changeOutput (recvmsg);     ...

In meinem Form2.h ich habe:

#include <string.h>    
#include <iostream>
#include <stdlib.h>    
...
    void Form2::changeOutput(string s)
    {
    QString s1 = i18n(s);
    output_box.setText(s1);

    }

Aber ich immer noch erhalten: .ui / Form2.h: 56: Fehler: ‚string‘ wird nicht deklariert

Danke.

Bearbeiten :: kk so jetzt seine Darstellung :: TCPClient.cpp: 182: Fehler: kann nicht rufen Memberfunktion ‚virtual void Form2 :: changeOutput (std :: string)‘ ohne Objekt

War es hilfreich?

Lösung

ist string im std Namespace, so müssen Sie entweder als std::string beziehen, oder Sie müssen die Namen in dem aktuellen Bereich mit using namespace std; oder using std::string; machen.

Auch wird der Header genannt string, nicht string.h, so ist es so aus:

#include <string>

Generell könnte du auch Qt QString statt std::string verwenden, wenn Sie es in Verbindung mit QT-Komponenten verwenden, die in der Regel QString Parameter übernehmen.

Andere Tipps

Ich denke, man den Header <string> verwenden sollte, und dann std::string verwenden (noch besser wäre const std::string &)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top