Re: строковый литерал - массив, указатель, шаблон функции
От: korzhik Россия  
Дата: 14.03.06 19:38
Оценка: 6 (1)
Здравствуйте, _Winnie, Вы писали:

_W>Когда я вызываю

_W>WideToUTF8(L"hello", s)
_W>то вызывается версия которая принимает указатель, а не ссылку на массив. Как исправить?

возможно тебе тут надо решение подобное boost.range

#include "boost/range.hpp"

void WideToUTF8(wchar_t const *input, size_t size, std::string &out);

template<class Range>
inline 
void WideToUTF8( const Range& c, std::string &out)
{
    return WideToUTF8(boost::begin(c), boost::size(c), out);
}

int main()
{
    std::string s;
    WideToUTF8(L"hello", s);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.