Question

J'essaie de modifier un certain message de zone de texte. Il affichera ma sortie.

C'est ce que j'ai dans ma main ()

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

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

dans mon formulaire2.h j'ai:

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

    }

Mais je reçois toujours: .ui / form2.h: 56: erreur: & # 8216; chaîne & # 8217; n'a pas été déclaré

Merci.

Edit :: kk donc maintenant sa diffusion :: TCPClient.cpp: 182: erreur: impossible d'appeler la fonction membre & # 8216; void virtuel Form2 :: changeOutput (std :: string) & # 8217; sans objet

Était-ce utile?

La solution

string se trouve dans l'espace de noms std. Vous devez donc l'appeler std::string ou rendre le nom disponible dans l'étendue actuelle avec using namespace std; ou using std::string;.

L’en-tête est également appelé string.h, et non pas QString. Inclus-le donc:

#include <string>

En règle générale, vous pouvez également utiliser <=> de QT au lieu de <=> si vous l'utilisez avec des composants QT qui prennent généralement des <=> paramètres.

Autres conseils

Je suppose que vous devriez utiliser l'en-tête <string> puis utiliser std::string (mieux serait const std::string &)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top