我繼承了MFC類CString的(沒有錯類,但請相信我,我需要做的時這對於具體的實現)。我成功地定製了一些行爲,但我注意到我丟失了隱式(LPCTSTR)運算符,這似乎是在將CString傳遞給格式字符串時發生的。無論是CString :: Format還是prinf/sprintf,都會發生這種奇蹟。例如:子類MFC的CString,失去隱式轉換的CString傳遞給格式字符串(的sprintf,CString的:: formatString的,等等)
CString Str = _T("Really cool string");
TCHAR szBuffer[32];
_stprintf(szBuffer, _T("Here it is: %s"), Str);
我還沒有想出這種神奇的是如何與一個標準的CString的工作,因爲CString的:: formatString的只是傳遞變量參數列表通過對_vswprintf和_swprintf。但無論它在我的派生類中是否缺失。
操作(LPCTSTR)如預期的繼承,並明確工作時調用。
任何想法?
或者使用功能的CString :: GetString的 – xMRi
@xMRi這是真的。我更新了答案。 – IInspectable