void WideToUTF8(wchar_t const *input, size_t size, std::string &out); //спрятана в .cpp файле.
inline void WideToUTF8(const std::wstring &str, std::string &out)
{
WideToUTF8(str.data(), str.size(), out);
}
template <int N>
inline void WideToUTF8(wchar_t const (&string_literal)[N], std::string &out)
{
WideToUTF8(string_literal, N-1, out);
}
inline void WideToUTF8(wchar_t const *input, std::string &out)
{
WideToUTF8(input, wcslen(input), out);
}
Когда я вызываю
WideToUTF8(L"hello", s)
то вызывается версия которая принимает указатель, а не ссылку на массив. Почему? Как исправить?