[問題] 關於引用變數問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC
問題(Question):
最近在做使用別人的library去開發,最近遇到一個問題
有使用到library去定義的參數,宣告如下- AAA_CString test1;
接著想在MFC工具列下創造一個edit control與變數,去接test1這個參數
後來不管怎麼試,都出現無法把AAA_CString轉換成CString。想請問該怎麼去轉換呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.193.205
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432047679.A.610.html
→
05/19 23:02, , 1F
05/19 23:02, 1F
推
05/19 23:09, , 2F
05/19 23:09, 2F
※ 編輯: williamsm (1.164.210.161), 05/20/2015 22:28:40
→
05/20 23:27, , 3F
05/20 23:27, 3F
→
05/20 23:27, , 4F
05/20 23:27, 4F
→
05/20 23:27, , 5F
05/20 23:27, 5F
補充,實際宣告如下-
typedef char A_CHAR;
typedef A_CHAR* A_STRING;
在MFC下工具箱加了edit control
目的是希望可以在EDIT CONTROL下輸入ip(或其他參數),丟給宣告成A_STRING的變數用
接著把EDIT CONTROL的變數類型定義為A_STRING、變數名稱設為test1
去compile後出現如下error訊息
[error C2664: 'void DDX_Control(CDataExchange *,int,CWnd &)' : 無法將引數 3 從
'CHR_STRING' 轉換為 'CWnd &']
想請教該怎麼定義才會正確使用呢?謝謝
※ 編輯: williamsm (1.164.210.161), 05/21/2015 00:16:37
→
05/22, , 6F
05/22, 6F
自己回一下自己的解法,把CString轉成被typedef宣告後的宣告類型
接著就直接引用它,我的說法可能有點不太精準,請參考下面
CString A;
int sizeOfA = (A.GetLength() + 1);
LPTSTR pStrTmp1 = new TCHAR[sizeOfSA];
_tcscpy_s(pStrTmp1, sizeOfA, A);
wcstombs_s(&i1, str1, 16, pStrTmp1, 16);
接著str1就可以丟到帶有被typedef的參數裡,給function引用
若有大大有更好的做法再請指教唷
※ 編輯: williamsm (36.229.162.35), 05/25/2015 22:37:11
→
05/26 23:37, , 7F
05/26 23:37, 7F
→
05/26 23:38, , 8F
05/26 23:38, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章