簡體   English   中英

使用Qt創建器時出現C2440錯誤,但使用VS2010 Express可以正常運行代碼

[英]C2440 error when using Qt creator but code runs fine using VS2010 Express

我在VS2010 c ++的命令行項目中有這些代碼行。

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

工作正常,沒有問題。 不,我在使用Qt Creator的Qt小部件基礎應用程序中使用相同的行。 編譯時出現錯誤:

“錯誤:C2440:'正在初始化':無法從'TCHAR *'轉換為'LPTSTR'指向的類型無關;轉換需要reinterpret_cast,C樣式強制轉換或函數樣式強制轉換”

感謝您的幫助,隆比

強制轉換,如LPTSTR pname = reinterpret_cast<LPTSTR>(&name[0]);

一切都會好起來的。 還刪除讀取pname = &name[0]; 在創建std :: wstring對象之后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM