سؤال
أنا أحاول تغيير بعض النص في مربع رسالة.أنه سيتم عرض النتائج.
هذا ما لدي في بلدي الرئيسية()
#include "form2.h"
....
string recvMSG = "random";
182::Form2::changeOutput(recvMSG);...
داخل بلدي form2.ح لدي:
#include <string.h>
#include <iostream>
#include <stdlib.h>
...
void Form2::changeOutput(string s)
{
QString s1 = i18n(s);
output_box.setText(s1);
}
ولكن أنا لا يزال الحصول على:.واجهة المستخدم/form2.ح:56:خطأ:'سلسلة' لم يعلن
شكرا
تحرير::kk حتى الآن جاري عرض::TCPClient.cpp:182:خطأ:لا يمكن استدعاء الدالة العضو الظاهري الفراغ Form2::changeOutput(std::string)' دون وجوه
المحلول
string
هو في std
مساحة, لذلك تحتاج إما أن تشير إلى أنها std::string
, أو تحتاج إلى جعل اسم المتاحة في النطاق الحالي مع using namespace std;
أو using std::string;
.
أيضا رأس يسمى string
, لا string.h
, لذا وتشمل هذه الطريقة:
#include <string>
عموما قد تحتاج أيضا إلى استخدام QT هو QString
بدلا من std::string
إذا كنت تستخدم ذلك في اتصال مع QT المكونات التي عادة ما تأخذ QString
المعلمات.
نصائح أخرى
أعتقد أنك يجب استخدام رأس <string>
ومن ثم استخدام std::string
(أفضل حتى يكون const std::string &
)