我正在尝试更改某个文本框消息。它将显示我的输出。
这就是我在main()
中的内容#include "form2.h"
....
string recvMSG = "random";
182 :: Form2 :: changeOutput(recvMSG); ...
在我的form2.h中我有:
#include <string.h>
#include <iostream>
#include <stdlib.h>
...
void Form2::changeOutput(string s)
{
QString s1 = i18n(s);
output_box.setText(s1);
}
但我仍然得到: .ui / form2.h:56:错误:'string'尚未声明
感谢。
编辑:: kk所以现在显示:: TCPClient.cpp:182:错误:无法调用成员函数'virtual void Form2 :: changeOutput(std :: string)'没有对象
答案 0 :(得分:15)
string
位于std
命名空间中,因此您需要将其称为std::string
,或者您需要在using namespace std;
的当前范围内使用该名称}或using std::string;
。
此标题也称为string
,而不是string.h
,因此请按以下方式添加:
#include <string>
一般情况下,如果您将QT QString
与通常采用std::string
参数的QT组件结合使用,也可能需要使用QT QString
而不是{{1}}。
答案 1 :(得分:1)
我猜你应该使用标题<string>
,然后使用std::string
(更好的是const std::string &
)