尝试为我的类创建LPCTSTR转换操作符:
AuthData::operator LPCTSTR() const
{
const char* k = "aaaa";
return k;
}
错误:返回值类型不匹配函数类型
为什么不匹配?
如果Unicode字符集已启用,则LPCTSTR类型为const wchar_t *.
@Edit你可以在这里阅读这些类型:https://softwareengineering.stackexchange.com/a/194768
-
在多字节项目中,LPCTSTR被定义为LPCSTR,它是CONST CHAR*,所以你的代码应该编译(如果它实际上是非unicode)。
-
永远不要把TCHARs和字符混在一起!至少——不是没有皈依。您的声明实际上暗示了TCHAR被定义为char,那么您为什么要向读者暗示您知道TCHAR(既然您不知道)?