Re[3]: Можно ли сделать универсальный шаблон для разных комбинаций whar_t и char
От: Videoman Россия https://hts.tv/
Дата: 19.01.23 19:18
Оценка: 18 (1)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А что непонятно из описания?


Да потому-что фиг проссышь, что ты имеешь в виду. Научись задание формулировать четко и однозначно. Это ты хочешь ?:
template <typename dst_t, typename src_t>
struct s_trait_t;
template <>
struct s_trait_t<wchar_t, wchar_t>
{
    using type = wchar_t;
};
template <>
struct s_trait_t<char, char>
{
    using type = char;
};
template <>
struct s_trait_t<wchar_t, char>
{
    using type = unsigned char;
};


template <typename DstType, typename SrcType>
void s (DstType * Dst, SrcType const * Src) 
{
    using IntType = typename s_trait_t<DstType, SrcType>::type;

    *Dst = static_cast <IntType> (*Src);

}

template void s <wchar_t, wchar_t> (wchar_t *, wchar_t const *);
template void s <char, char> (char *, char const *);
template void s <wchar_t, char> (wchar_t *, char const *);

void f () {

  wchar_t * W;
  char * C;

  s (W, W);
  s (C, C);
  s (W, C);

}

int main()
{
  f();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.