Я продолжаю получать ошибки преобразования C2664 в визуальной студииошибка C2664 преобразования из из сопзЬ станд :: строки в StD :: строка &
Он говорит мне, что он не может преобразовать параметр 1 из сопзЬ станд :: строку std :: string &. Я попытался добавить/удалить константу в прототипе stringToWstring и самой функции, и ошибка все еще возникает.
wstring hexval = buff.substr(buff.find(L"hex(2):"));
wstring h;
wchar_t ch;
typedef boost::tokenizer<boost::char_separator<wchar_t> > tokenizer;
boost::char_separator<wchar_t> sep(L"//,");
tokenizer tokens(hexval, sep);
for(tokenizer::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); tok_iter++)
{
ch = someFunction(*tok_iter); //error here
h += ch;
}
wstring stringToWstring(const string& s)
{
wstring temp(s.length(), L'');
copy(s.begin(), s.end(), temp.begin());
return temp;
}
wchar_t someFunction(const wstring &hex_val)
{
}
Любые идеи?
EDIT:
Я вижу, что это действительно заблуждение, так что я собираюсь объяснить немного больше ..
Первоначально я хотел эти строки внутри для цикла
ch = someFunction(*tok_iter);
h += ch
Я также ожидал, что * tok_iter вернет wstring, но у меня возникла ошибка: не может преобразовать параметр 1 из const std :: string в const std :: wstring &
Из-за этого я предположил, что каким-то образом * tok_iter является const std :: string, поэтому я создал функцию stringToWstring для преобразования. Для того, чтобы сделать это в течение цикла
ch = someFunction(stringToWstring(*tok_iter));
h += ch
Когда я сделал это, я получил:
Error 1 error C2664: 'std::_String_const_iterator<_Elem,_Traits,_Alloc>::_String_const_iterator(const std::_String_const_iterator<_Elem,_Traits,_Alloc> &)' : cannot convert parameter 1 from 'std::_String_const_iterator<_Elem,_Traits,_Alloc>' to 'const std::_String_const_iterator<_Elem,_Traits,_Alloc> &' c:\program files\boost\boost_1_39\boost\tokenizer.hpp 63
Я надеюсь, что это яснее.
какая «полужирная деталь»? –
Почему вы спрашиваете о преобразовании строки в wstring, если ошибка говорит о const string для string &? – jalf
Часть с двойными звездочками вокруг нее, которая была бы выделена жирным шрифтом, если бы она не была в блоке кода. – chaos