質問
特定のテキストボックスメッセージを変更しようとしています。出力が表示されます。
これは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;オブジェクトなし
解決
string
はstd
名前空間にあるため、std::string
として参照するか、using namespace std;
またはusing std::string;
を使用して現在のスコープで名前を使用可能にする必要があります。
また、ヘッダーはstring.h
ではなくQString
と呼ばれるため、次のようにインクルードします。
#include <string>
通常、<=>パラメーターを使用するQTコンポーネントと関連して使用する場合、通常は<=>ではなくQTの<=>を使用することもできます。
他のヒント
ヘッダー<string>
を使用してからstd::string
を使用する必要があると思います(さらに良いのはconst std::string &
です)
所属していません StackOverflow