STDMETHODIMP CClirASO::getKeywordTranslationP(BSTR str1, BSTR str2, BSTR* result)
{
// TODO: 在此添加实现代码
string s = this->MygetKeywordTranslation(_com_util::ConvertBSTRToString(str1),_com_util::ConvertBSTRToString(str2));
* result =_com_util::ConvertStringToBSTR(s);
return S_OK;
}
错误信息:
错误 1 error C2664: '_com_util::ConvertStringToBSTR' : cannot convert parameter 1 from 'std::string' to 'const char *'
我这里的*result应该就是一个值,为什么会出现这样的情况呢?
{
// TODO: 在此添加实现代码
string s = this->MygetKeywordTranslation(_com_util::ConvertBSTRToString(str1),_com_util::ConvertBSTRToString(str2));
* result =_com_util::ConvertStringToBSTR(s);
return S_OK;
}
错误信息:
错误 1 error C2664: '_com_util::ConvertStringToBSTR' : cannot convert parameter 1 from 'std::string' to 'const char *'
我这里的*result应该就是一个值,为什么会出现这样的情况呢?
不能把 'std::string' 转换为 'const char *'
如果是UNICODE转char*
可以直接用CW2A
试试* result =_com_util::ConvertStringToBSTR((LPCTSTR)s);
或者
* result =_com_util::ConvertStringToBSTR(s.c_str());