0

これらのコード行は、VS2010 c++ のコマンド ライン プロジェクトにあります。

        TCHAR          name[30];
        LPTSTR         pname=&name[0];
        std::wstring   OutNumber;
        pname = &name[0];
        GetWindowText(hGameNumber,pname,30);

問題なく正常に動作します。いいえ、Qt Creator を使用して Qt ウィジェット ベース アプリケーションで同じ行を使用しています。コンパイルすると、次のエラーが表示されます。

「エラー: C2440: 'initializing' : 'TCHAR *' から 'LPTSTR' に変換できません。指定された型は無関係です。変換には、reinterpret_cast、C スタイルのキャスト、または関数スタイルのキャストが必要です」

助けてくれてありがとう、ルンピ

4

1 に答える 1

0

キャスト、のように LPTSTR pname = reinterpret_cast<LPTSTR>(&name[0]);

そしてすべてがうまくいくでしょう。pname = &name[0];std::wstring オブジェクトを作成した直後の行も削除し ます。

于 2012-06-23T18:36:58.493 に答える