→ Feis: 等下~ typedef 在哪? @@ 05/19 23:02
推 kwpn: 說好的typedef咧 05/19 23:09
※ 編輯: williamsm (1.164.210.161), 05/20/2015 22:28:40
→ sd016808: 看不太懂你想問的問題 大概猜測你是想用別人重新包裝過 05/20 23:27
→ sd016808: 的控件? 那就在控件加入變數的地方 把class改成別人包 05/20 23:27
→ sd016808: 好的類別就好了吧? 05/20 23:27
補充,實際宣告如下-
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
→ TobyH4cker: 完全是parameter弄錯了吧 05/22
自己回一下自己的解法,把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
→ sd016808: 所以你只是要問CString 怎麼轉成char*嗎? 如果只是要這 05/26 23:37
→ sd016808: 樣 GetBuffer就可以了吧? 05/26 23:38