尝试为我的班级创建LPCTSTR转换运算符:
AuthData::operator LPCTSTR() const
{
const char* k = "aaaa";
return k;
}
错误:返回值类型与函数类型
不匹配为什么它不匹配?
答案 0 :(得分:0)
如果启用了Unicode字符集,则LPCTSTR类型为const wchar_t *。
@Edit 你可以在这里阅读这些类型: https://softwareengineering.stackexchange.com/a/194768
答案 1 :(得分:0)
在多字节项目中,LPCTSTR定义为LPCSTR,即CONST CHAR *,因此您的代码应该编译(如果它实际上是非Unicode)。
永远不要将TCHAR与字符混合!至少 - 不是没有转换。你的声明实际上意味着TCHAR被定义为char,那你为什么要向读者建议你是TCHAR-aware(因为你不是)?