سؤال

أنا أحاول تغيير بعض النص في مربع رسالة.أنه سيتم عرض النتائج.

هذا ما لدي في بلدي الرئيسية()

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top