Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Так чего именно не хватает в описании из того, что видно по коду?
Из описания замучаешься восстанавливать не работающий код. Куча вариантов может быть, тебе не очевидных.
V>>struct s_trait_t;
ЕМ>Без этого костыля никак?
Может
так ?:
#include <type_traits>
template <typename DstType, typename SrcType>
void s (DstType * Dst, SrcType const * Src)
{
using IntType = typename std::make_unsigned<SrcType>::type;
*Dst = static_cast<DstType>(static_cast<IntType>(*Src));
}
void f () {
wchar_t * W;
char * C;
s (W, W);
s (C, C);
s (W, C);
}
int main()
{
f();
}