Pregunta

Estoy intentando cambiar un determinado mensaje de cuadro de texto.Mostrará mi salida.

Esto es lo que tengo en mi main()

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

182::Formulario2::cambiarSalida(recvMSG);...

dentro de mi form2.h tengo:

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

    }

Pero todavía recibo:.ui/form2.h:56:error:'cadena' no ha sido declarada

Gracias.

Editar::kk entonces ahora se muestra::TCPClient.cpp:182:error:no se puede llamar a la función miembro 'virtual void Form2::changeOutput(std::string)' sin objeto

¿Fue útil?

Solución

string está en el espacio de nombres std, por lo que debe referirse a él como std::string, o debe hacer que el nombre esté disponible en el ámbito actual con using namespace std; o using std::string;.

También el encabezado se llama string.h, no QString, así que inclúyalo de esta manera:

#include <string>

En general, también es posible que desee utilizar QT's <=> en lugar de <=> si lo está utilizando en conexión con componentes QT que generalmente toman <=> parámetros.

Otros consejos

Supongo que deberías usar el encabezado. <string> y luego usar std::string (incluso mejor sería const std::string &)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top