質問

特定のテキストボックスメッセージを変更しようとしています。出力が表示されます。

これは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:エラー:<!>#8216; string <!>#8217;宣言されていません

ありがとう。

編集:: kkだから、その表示:: TCPClient.cpp:182:エラー:メンバー関数を呼び出せません<!>#8216; virtual void Form2 :: changeOutput(std :: string)<!>#8217;オブジェクトなし

役に立ちましたか?

解決

stringstd名前空間にあるため、std::stringとして参照するか、using namespace std;またはusing std::string;を使用して現在のスコープで名前を使用可能にする必要があります。

また、ヘッダーはstring.hではなくQStringと呼ばれるため、次のようにインクルードします。

#include <string>

通常、<=>パラメーターを使用するQTコンポーネントと関連して使用する場合、通常は<=>ではなくQTの<=>を使用することもできます。

他のヒント

ヘッダー<string>を使用してからstd::stringを使用する必要があると思います(さらに良いのはconst std::string &です)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top