Pergunta

Eu estou tentando mudar uma determinada mensagem caixa de texto. Ele irá exibir a minha saída.

Isto é o que eu tenho em meu main ()

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

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

dentro do meu Form2.h eu tenho:

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

    }

Mas eu ainda obter: .ui / Form2.h: 56: erro: ‘string’ não foi declarado

Graças.

Editar :: kk agora sua exibição :: TCPClient.cpp: 182: erro: não pode chamar função membro ‘virtual void Form2 :: changeOutput (std :: string)’ sem objeto

Foi útil?

Solução

string está no namespace std, assim que você quer necessidade de se referir a ele como std::string, ou você precisa para tornar o nome disponível no escopo atual com using namespace std; ou using std::string;.

Além disso, o cabeçalho é chamado string, não string.h, então incluí-lo desta maneira:

#include <string>

Geralmente você também pode querer usar QString do QT em vez de std::string se você estiver usando-lo em conexão com componentes QT que normalmente usam parâmetros QString.

Outras dicas

Eu acho que você deve usar o <string> cabeçalho e, em seguida, std::string uso (ainda melhor seria const std::string &)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top