我使用 WTL CString 类。这个类有一个重载运算符:
operator LPCTSTR() const
{
return m_pchData;
}
所以我这样使用它:
CString sText = _T("I like CString!");
TRACE("%s", sText);
我得到了:
Output: I like CStrings!
但是在我添加了一些自己特定的转换方法和运算符之后:
operator LPWSTR() const
{
return ConvertStringToWide();
}
和
operator LPSTR() const
{
return ConvertStringToAnsi();
}
现在我得到而不是:
Output: I like CStrings!
这:
Output: &%?....
在进行了一些测试后,我发现 CString 现在不是调用 operator LPCTSTR() 并返回 m_pchData 它返回类的 this 指针!所以我总是得到指向类而不是 m_pchData 的指针。
所以我的问题是:如何告诉 CString 类默认使用运算符 LPCTSTR() 而不返回 this 指针?