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
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 &
)